feat(rog-control-center): add XDG global shortcut support#167
Merged
Ghoul4500 merged 3 commits intoJul 23, 2026
Merged
Conversation
Rename the installed launcher and align the Slint, AppStream, and autostart IDs with org.opengamingcollective.rog-control-center. Update Make and RPM packaging while leaving the executable and D-Bus API names unchanged. This changes the desktop file ID. Package upgrades clean up the old path; manual installations may need to remove a lingering rog-control-center.desktop file.
…troller Centralize window control behind a single clonable entry point so the tray (and upcoming global shortcuts) can drive the window directly instead of round-tripping through D-Bus state polling. Funnel the tray, QuitApp, and auto-quit exits through slint::quit_event_loop(): previously each of them called exit(0), so run_event_loop_until_quit() never returned and the cleanup after it (tokio shutdown, destructors) was dead code. unwrap()s on slint calls became logged errors: with panic = "abort" in the release profile, any of them would kill the whole process.
voidvore
force-pushed
the
feat/rog-control-center-global-shortcut
branch
from
July 18, 2026 20:31
657449f to
13af999
Compare
Use ashpd's XDG portal to let the Armoury/ROG key show or hide the app. Add App Settings controls, save the choice, and restore it silently on startup. Reuse the existing Tokio runtime and D-Bus connection, close the shortcut session cleanly on exit, and disable it on ROG Ally.
Contributor
Author
voidvore
marked this pull request as ready for review
July 18, 2026 22:38
Ghoul4500
approved these changes
Jul 23, 2026
Ghoul4500
left a comment
Member
There was a problem hiding this comment.
LGTM, thank you for your contribution
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

The XDG host portal associates an unsandboxed application with an application
ID. That ID must match an installed desktop file basename:
https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.host.portal.Registry.html
ROG Control Center previously installed
rog-control-center.desktop.This PR standardizes the application identity on
org.opengamingcollective.rog-control-center.desktopand adds XDG globalshortcut support for the Armoury/ROG key.
Current changes
ashpd-based XDG GlobalShortcuts session forXF86Launch3.Implementation status
ashpd-based XDG GlobalShortcuts portal session manager.Reference Links
CloseGlobalShortcutsRust APIregister_host_app_with_connectionset_xdg_app_idasus-nb-wmi.c#L598xkbcommon-keysyms.h#L2891Screencast_20260715_141747.mp4