- Notifications
You must be signed in to change notification settings - Fork2.5k
Use libdbus for trays on Linux instead of Ayatana and GTK#14582
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
sezero commentedDec 3, 2025
Whitespace and style changes are making it difficult to read the actual changes. Tiny patch to make it build on alder systems: diff --git a/src/core/linux/SDL_dbus.h b/src/core/linux/SDL_dbus.hindex 738fc06..27dcd41 100644--- a/src/core/linux/SDL_dbus.h+++ b/src/core/linux/SDL_dbus.h@@ -38,6 +38,9 @@ #ifndef DBUS_TYPE_UNIX_FD #define DBUS_TYPE_UNIX_FD ((int)'h') #endif+#ifndef DBUS_ERROR_UNKNOWN_PROPERTY+#define DBUS_ERROR_UNKNOWN_PROPERTY "org.freedesktop.DBus.Error.UnknownProperty"+#endif typedef struct SDL_DBusContext { |
eafton commentedDec 3, 2025
Implemented. |
eafton commentedDec 4, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
C0rn3j commentedDec 6, 2025
Will this implementation count with being able to use scroll events? Currently we use it to set volume up/down based on scroll up/down over the tray (albeit the support for that in the current tray ecosystem seems spotty). |
ssokolow commentedDec 6, 2025
If I'm understanding theSDL docs correctly, the SDL API having its guts rewritten currently only exposes the ability to define a context menu and set an icon and tooltip. (Which matches what I'm seeing in the diff where a quick Ctrl+F shows no mention of the D-Bus |
eafton commentedDec 6, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
If the maintainers approve, we can add this. |
slouken commentedDec 6, 2025
Sure, we can add this. Go ahead and create a separate follow-on PR once this lands and include Windows support as well. Thanks! |
C0rn3j commentedDec 8, 2025
Two more things that I can't seem to find in the current source, is it planned to:
Thank you very much for working on this implementation! |
eafton commentedDec 9, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
What do you think?@slouken |
slouken commentedDec 9, 2025
Typically we expose features in SDL that are available on multiple platforms. If this can be implemented on Windows, then it's fine to add. If it can't, we can discuss use cases and figure out if it makes sense to add it as a platform specific feature. |

Uh oh!
There was an error while loading.Please reload this page.
WIP implementation of a pure libdbus tray implementation, shouldclose#13666,#11703 andTaiko2k/Tauon#1772.
Notes:
-Some of the menu interfaces are unimplemented for now.
-Tray creation, icon/tooltip setting works properly.
-Menu export and callbacks are working.
-DestroyTray does not clean up memory for menus and entries.
-Various TODOs in the code are present.
-Canonical's protocol is used for menu export, the GIO menu protocol is unsupported.
-Currently there is no support for the old XEmbed tray protocol, that will come once more "toolkit" functionality (see#14395) gets implemented. Functionality for having multiple tray drivers is already implemented.
-Tooltips are supported unlike the old Ayatana implementation.
@ssokolow@smcv@slouken