Conversation
|
Just tested in Cinnamon, the icon and the left click action work, but the context menu stays empty there... |
|
ah, so instead of finding the library for it, just implemented the spec directly in perl. Yeah, not a bad option |
|
I couldn't find any Perl library for it, according to AI there is none. Maybe we can release the module as standalone library if it suffices any basic quality standards, because it is unfortunately AI generated after lots of iterations and testing... |
|
well, it doesn't need to be perl. As long as it's usable from perl, that's good enough. That's how previous used library (appindicator) worked, it wasn't perl. Or even XApp from the other PR |
|
But there need to be some Perl bindings at least, as far as I understand, and I couldn't find anything... I hope, this solution is acceptable still. 😃 |
Of course. In the case of libappindicator, the bindings were coming from gobject introspection
Please reread my message :(
|
|
Cool! If you find some time for reviewing, it is basically ready, just some menu entries are missing, most complex one being the profile submenu. We also need to decide whether we want to implement (and disable) entries which only work in X11 to make the menu consistent with the GtkStatusIcon one. |
|
Well, we shouldn't regress existing feature |
|
Do you mean the profile selection submenu? I will work on it. What I mean is something like the menu showing the list of all open windows, which most likely will never exist in Wayland, because of its restrictive policy. |
|
I mean we're not dropping support for X11, are we? |
|
If X11 was showing the list of windows in tray menu, I don't see why with SNI it should stop showing it |
|
Of course not, but the SNI menu is only being used on Wayland, on X11 the good old GtkStatusIcon does the job, which still has all the items for all the features. the only question is, whether it is problematic if the two menus don't fully coincide because features which are missing on Wayland are not in the SNI tray menu which is used on Wayland. |
|
SNI works on X11 too. So we could leave it as the only option, removing other libraries like GtkStatusIcon. Does GtkStatusIcon work on X11 Gnome or Cinnamon? |
|
You are right, Gnome 48 for example still has an X11 session but doesn't support GtkStatusIcon. So yeah, switching to SNI completely would make much sense. So we need to rebuild the complete menu in SNI and get rid of the other two implementations. But I'm not sure, I'll have enough time to do this (most probably not) and I'd really like to make a release soon... Maybe we can adapt the choice of tray icon library in a way that old Gnome gets AppIndicators for the now? |
|
well, it is possible to use a combination of GtkStatusIcon and AyatanaAppIndicator for X11 like now, and this new perl code for wayland, but that's even messier than making new perl code support everything |
|
well, I haven't tested this yet. But I don't mind temporarily limiting the new SNI code to wayland |

A tray icon implementation which should work on all DEs and differentiate between left and right mouse button just ass GtkStatusIcon does.
Not all menu entries are reimplemented so far, in particular the profile selector is missing.
Also, the icons are not as nicely set as in the original tray menu (no fallback icons provided.
Unfortunately, the the object
$tray_menu, which is constructed byfct_red_tray_menuand contains all the tray menu items, couldn't be reused, the menu had to be reimplemented completely from scratch, because the tray icon and menu are now created by DBus which receives the menu structure as an array created by the new moduleShutter::App:StatusNotifier.