Skip to content

feat(apps): add per-app output_name stream-audio override fix .desktop for artix with openrc#5364

Closed
DipCrai wants to merge 4 commits into
LizardByte:masterfrom
DipCrai:feat/per-app-output-name
Closed

feat(apps): add per-app output_name stream-audio override fix .desktop for artix with openrc#5364
DipCrai wants to merge 4 commits into
LizardByte:masterfrom
DipCrai:feat/per-app-output-name

Conversation

@DipCrai

@DipCrai DipCrai commented Jul 2, 2026

Copy link
Copy Markdown

Allow each application to specify its own output-name to override the global display capture setting. This enables users to stream different displays per application without restarting Sunshine.
Each application can also override audio streaming with an optional stream-audio checkbox — useful for headless or second-monitor setups where host audio should be muted.
Both fields are optional — when left empty/unset, the global config is used as before.

Description

Per-app Display Id (output-name)

An optional Display Id (output-name) field per application, letting each app capture a different display without restarting Sunshine or running multiple instances.

Per-app audio streaming (stream-audio)

A new Stream Audio checkbox per application, allowing per-app control of audio streaming. When unchecked, no audio will be streamed for that app.

Desktop file init auto-detect

The .desktop file now auto-detects whether systemd is available. On systems without systemd (e.g. Artix with OpenRC), Exec points directly to the sunshine binary instead of systemctl start ....

Screenshot

image

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

Allow each application to specify its own output_name to override
the global display capture setting. This enables users to stream
different displays per application without restarting Sunshine.

The field is optional - when left empty, the global output_name
setting is used as before.
@ReenigneArcher

Copy link
Copy Markdown
Member

Thank you for the PR!

I have the same feedback as #4863 (review)

@DipCrai

DipCrai commented Jul 2, 2026

Copy link
Copy Markdown
Author

okay :) thank you for the reply. btw i'm using build with this changes now. i just wanted to make one app for mirroring my screen and the other one for displaying my virtmon :)

@DipCrai DipCrai marked this pull request as draft July 2, 2026 04:26
DipCrai added 3 commits July 2, 2026 07:43
When systemd is not found (e.g. Artix with OpenRC), generate the
.desktop file with a direct Exec line instead of using systemctl.
Add a checkbox to override audio streaming per application.
Fix save/restore of both output_name and stream_audio so that
apps without overrides always use the global config.
@DipCrai DipCrai changed the title feat(apps): add per-app output_name override feat(apps): add per-app output_name stream-audio override fix .desktop for artix with openrc Jul 2, 2026
@sonarqubecloud

sonarqubecloud Bot commented Jul 2, 2026

Copy link
Copy Markdown

@DipCrai DipCrai marked this pull request as ready for review July 2, 2026 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants