Skip to content

feat: add toggleable profile auto-switching based on active application#389

Open
anthonymendez wants to merge 1 commit into
nekename:mainfrom
anthonymendez:AutoswitchProfile
Open

feat: add toggleable profile auto-switching based on active application#389
anthonymendez wants to merge 1 commit into
nekename:mainfrom
anthonymendez:AutoswitchProfile

Conversation

@anthonymendez

Copy link
Copy Markdown

Preflight checklist

If you remove this checklist, this pull request will be closed without explanation.

  • I understand that if this pull request is about support for non-Elgato or non-Tacto hardware, it will be closed without explanation, as per issue Statement regarding device support #38.
  • I certify the compliance of this pull request with the Jellyfin LLM/"AI" Development Policy adopted by the OpenDeck project.
  • I thoroughly understand the changes that I am proposing in this pull request, and I will be able to respond to questions and review feedback.
  • I reasonably believe that the changes that I am proposing are of production quality, or I am otherwise opening this pull request as a draft.
  • I have thoroughly reviewed the diff of my changes and ensured that I have neither introduced any unrelated additions, nor differences in unmodified code.
  • I have ensured that I have run the appropriate formatter on my changes and that my code produces no linter violations.
  • I will keep "Allow edits from maintainers" enabled for this pull request.

I was getting quite annoyed about my Stream Deck auto switching profiles by default, and with no way to disable it. So this is the quick solution I landed on. I verified it works on my end. I couldn't test this in other OSes or systems.

Summary of changes

I added the option to enable/disable profile autoswitching in open deck. It was a relatively straight forward change.

  • Wrapped profile switching in application_water inside another conditional. This conditional checks if autoswitching is enabled.
  • Added autoswitching bool to Settings struct in mod.rs.
    • Default value is true for the struct.
  • Added toggle for autoswitching in SettingsView.svelte
  • Added autoswitch bool to settings.ts.
  • English and German (auto translated) for the UI.

I do feel like the code could be refactored a bit in application_water.rs but I'm going to avoid major refactors unless asked.

Change Demo

image

@CLAassistant

CLAassistant commented Jul 15, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@anthonymendez
anthonymendez marked this pull request as ready for review July 15, 2026 01:58
@anthonymendez
anthonymendez marked this pull request as draft July 15, 2026 01:58
@anthonymendez
anthonymendez marked this pull request as ready for review July 15, 2026 02:03
@Terrorwolf01

Copy link
Copy Markdown
Collaborator

Non Autotranslated German translation based on current English translation:

"settings.autoswitch": "Automatischer Profilwechsel aktivieren:",
"settings.autoswitch.tooltip": "Wenn diese Option aktiviert ist, wechselt das aktive Profil automatisch basierend auf der aktuell fokussierten Anwendung.",

@nekename

Copy link
Copy Markdown
Owner

Non Autotranslated German translation based on current English translation:

Was just about to ask.

@nekename

Copy link
Copy Markdown
Owner

Changes look good, as mentioned elsewhere I'll look in more detail when I get back later this month

@nekename

Copy link
Copy Markdown
Owner

@anthonymendez why can't you just remove the profile you don't want it autoswitching to? I'm not sure if I really want to add another option, especially considering its confusing behaviour.

@anthonymendez

Copy link
Copy Markdown
Author

@nekename because that's not convenient for the user. If I have to delete a profile or change my default profile every-time I'm changing my workflow or main app

If my default profile contains generic buttons (media, discord, etc.), and I have an OBS profile for whenever I'm recording gameplay, having to constantly switch which one is the default profile is quite annoying. Since there is no option to set a profile for an application (at least as far as I can tell on KDE Wayland), nor are there options for folders or multiple pages within a profile, this is the best I could come up to solve my issue.

Honestly, writing this out, I think it would be more convenient and akin to Elgato's program if we could get folders and multiple pages per profile.

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.

4 participants