-
Notifications
You must be signed in to change notification settings - Fork 178
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
StatusIcon is not displayed in GNOME + Wayland #1606
Comments
By the way, the tray icon never shows up ("Hide system tray icon" is enabled). However, thunderbird shows the icon correctly. I'm looking into this issue. |
Apparently this is a Wayland-specific issue. Under X11 works without problems. |
It's because when an app "minimizes" to sys tray -- it doesn't really minimize or iconify. I don't know much about wayland and how its system tray implementation works.. Basically, your problem is not what you wrote.. it's that there's no tray icon at all. The old GTK status icon API is deprecated, so relatively recently deadbeef got a new plugin https://github.com/Alexey-Yakovenko/deadbeef/tree/master/plugins/statusnotifier This is only available on master branch, so this may explain why it doesn't work if you're using 0.7.2 |
Thanks for you reply. After some research I found the real problem is Wayland has removed system tray completely (Gnome leaves the tray exclusively for X11 apps). It seems the proposed solutions by DEs (at least Gnome) is to support MPRIS2 Quickly Access Media Controls, and at least Rhythmbox is working in this way. Thus shall we change this issue as "Mainline MPRIS2 plugin"? Thank you. |
They are 2 different things. There's still notification area in KDE5, GNOME3, etc, and it works in deadbeef with the new plugin that I mentioned. Then there's the Ubuntu sound menu, and similar in other desktops, which are not supported by Deadbeef natively, but there are multiple third party plugins and scripts, which have been available for quite a while. I'm not convinced to support MPRIS stuff as part of my tree yet, but feel free to post a feature request about it. |
I totally agree. They are really two different things, but the problem is, from my testing the KDE plugin doesn't work under Gnome 3, while the third-party mpris2 plugin has no problem in presenting status in Gnome. After taking a look at the statusnotify code, it seems this plugin employs KDE specific D-Bus interfaces ("org.kde.StatusNotifierItem"), and there isn't corresponding interface in Gnome 3 yet. |
@xinyazhang I just tried in GNOME3 which ships in Ubuntu 16.04, and the standard GtkStatusIcon works just fine. It appears in the bottom left corner, like this: |
I can't find any information, whether this notification area is still present in wayland version of GNOME shell, or what kind of protocol it's using. |
@ugilio Hey mate, hope it's all right that I'm summoning you. I tried to figure out why the statusnotifier plugin doesn't work in Ubuntu (Unity)... Can't find any reason for that. I tried adding more properties to XML, like this:
and handling them like this (hack-ish):
Still couldn't get it to work. Can you give me a pointer how to debug this stuff? Are there any tools to monitor what's going and where it fails? |
@ugilio I found this in dbus-monitor output:
does this mean that Unity doesn't support this protocol at all, or is it something wrong on Deadbeef's side? |
more info...
apparently, I'm still missing some required properties |
Ahh.. I'm wrong, this message disappears when I add the IconThemePath, Menu and ItemIsMenu. So I'm on the right way, but still not quite there.. |
@xinyazhang btw, could you please try if this plugin works with wayland? https://github.com/vovochka404/deadbeef-statusnotifier-plugin It uses the same protocol as the built-in status notifier, but seems to be more complete, and works in Ubuntu/Unity at least. I suppose it should work in GNOME too. |
I tracked it down to the Menu property.. it needs to be a valid GObject path, with an associated DBUS service, which serves the menu, and this could be implemented with the library called "dbusmenu-glib", which is quite a bad dependency to bring. |
I suppose we can repurpose this issue for tracking Unity progress with statusnotifier plugin... |
@Alexey-Yakovenko |
@xinyazhang so there's no system tray at all in GNOME shell on wayland? Can anyone of people who has access to a system running wayland + GNOME confirm? |
@xinyazhang it looks like you are correct about it, I'm updating the issue title to reflect this. Your bug report doesn't make sense anymore, because if GNOME ditched the status icon support completely -- then nothing can be done on application side. MPRIS plugin can be used, if needed, and Deadbeef seems to be satisfying all of the guidelines, even with default settings. |
No, I tried vovochka404's plugin, but the status icon still doesn't present. |
I feel like stealing this thread for an unrelated issue (Unity appindicator) was wrong. |
@Alexey-Yakovenko |
No, we don't. There's no tray in GNOME. Deadbeef can still run "in background" by hiding the main window, but this will remain disabled by default. Then, the GNOME guidelines explicitly say that apps should NOT do that:
|
@Alexey-Yakovenko |
I think GNOME + Wayland ignores the system tray completely; it's deprecated according to GNOME dev's. On the other hand, the mpris2 plugin works wonders with deadbeef + GNOME 3 since media players that support it are fully integrated in the notification area (see screenshot). Perhaps deadbeef could include this plugin by default. |
Version: 0.7.2-2
Environment: Fedora 24, Wayland
Procedure to reproduce: enable 'Close minimizes to tray' and click the close button, deadbeef player simple disappears.
Possible reason:
I took a look at the minimization (or iconify) code. It calls gtk_widget_hide when minimizing to tray is enable. However the Gtk APIs designed for this function are
and
The text was updated successfully, but these errors were encountered: