GNOME Bugzilla – Bug 590771
No systray icon
Last modified: 2020-03-17 08:17:36 UTC
Banshee doesn't show any systray icon when systray "embedder" gives 16x16px area for the icon and it makes banshee somehow unusable. Banshee should have 16x16 icon and to be able to render it correctly. Systray icon sizes can be set for example in development version of bmpanel2, but not being able to show the icon is definitely banshee's bug, not bmpanel's. According to freedesktop standards, application itself must be able to render it's icon to whatever area it gets.
A quick look at the code shows that banshee should be able to display a 16x16 icon in the tray. I wasn't able to test this, my panel does not get smaller than 23px. Does it work with bigger sizes ? Could you start banshee with "banshee --debug" and attach the output here. Maybe it'll give some indication about what the problem is. Do you have the same problem with other applications, like tomboy ? Tomboy would be an interesting test, because banshee's code for the tray icon was borrowed from it.
Tomboy does show 16x16 icon. Banshee will show the icon when the area is set to at least 17x17, but no icon with 16x16. There is nothing interesting about the icon in banshee's output, but I'm attaching it anyway. I recorded 2 videos, first shows no icon in banshee, second shows tomboy with the icon shown. Problem is not theme-independent, I've tried all icon themes I have installed (around 20, including tango and gnome icon themes).
Created attachment 139984 [details] banshee --debug output
Created attachment 139985 [details] Video showing tomboy with the icon
Video showing banshee without the icon (sorry for rapidshare link, but I didn't know of better place to upload it). http://rapidshare.com/files/264178305/banshee-no-icon.ogv
Ups, I meant "Problem is theme-independent".
Banshee doesn't show the icon with this (http://gnome-look.org/content/show.php/Multirow+notification+area?content=106858) patch also (makes tray in gnome multirow, and it makes icons 16x16), that means it is really bug in banshee and it should be fixed. Not everyone likes too big icons, especially with low resolution (<= 1280x1024). I know, that freedesktop systray standard sucks, but ...
Created attachment 142532 [details] [review] Set the icon image through the Pixbuf property Could you try if this patch fixes the issue ? It's the only difference I found between what tomboy is doing and what banshee is doing : banshee loads the image by specifying the icon name and size, tomboy uses the Pixbuf property.
The patch doesn't fix the problem, but when I looked into that file I found "hack" which ignores first allocate event. If I commented that "if (first_allocate) { ... }" block out, it shows the icon. Because of that "hack" icon never gets loaded. If that "hack" is in Tomboy too, Tomboy must probably force next allocate event by itself. I suggest removing that hack. Maybe some tray managers send more allocate events, but it is them who needs to be fixed, not banshee.
ping
I see you must be really busy when you can't write "We will/won't get rid of that stupid hack workarounding stupid behavior of systray managers." Thanks for your time, don't reqest more info from me, not using banshee anymore just because of this bug.
Jaroslav, no need to be angry, it will only annoy developers and delay things. Remember, we are working on Banshee in our free time. Re-opening the bug as it's still a valid request.
Tomboy doesn't have this first_allocate hack. As I don't remember ever experiencing the problem that caused this hack to be introduced (bug #540885), and I can't reproduce it now. But some logging has shown that we still get 200x200 allocation requests. So I don't know if it's really still present. As indicated above, I can't reproduce this issue on my system (but I'm convinced it exists), so I'm a bit reluctant on doing a "blind fix". PS : We give users 2 or 3 months to answer questions on bugs before marking them as "incomplete", so please be kind enough to give us more than a week to answer.
... we still get 200x200 allocation requests ... Something buggy must cause this allocation. Perhaps broken systray manager. If you want to reproduce the problem, just try bmpanel2 (http://code.google.com/p/bmpanel2/) which allow you to set 16x16 icons in systray. If you really want to have some hack in banshee, I suggest starting timeout/timer on first allocation request and when there is no other allocation event in that time, just force loading the icon at current size. BTW I don't actually care if you fix it or not as I'm not using banshee anymore. Just keep releasing broken software, everyone like it.
Review of attachment 142532 [details] [review]: Doesn't fix the issue.
Banshee is not under active development anymore and had its last code changes more than three years ago. Its codebase has been archived. Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this ticket (or rather transfer the project to GNOME Gitlab, as GNOME Bugzilla is being shut down) if anyone takes the responsibility for active development again. See https://gitlab.gnome.org/Infrastructure/Infrastructure/issues/264 for more info.