Modernize tray icon: use AyatanaAppIndicator3 (SNI) - #441
Conversation
|
I tried to apply this patch to the most recent source codes with the latest changes and I had a conflict. I did a little refactoring. |
|
I have rebased this PR to the current git master. @temaps thanks, I have used what you did. |
- Replace deprecated Gtk.StatusIcon (XEmbed) with AyatanaAppIndicator3 (StatusNotifierItem protocol), shown natively in KDE Plasma and other modern desktops. The old XEmbed-based icon was not displayed in KDE Plasma 6, which dropped support for legacy system tray icons. - Use icon names from system theme: printer, printer-printing, printer-error, printer-warning - Support left-click (Activate signal, libayatana-appindicator >= 0.6.0) and tooltip (set_tooltip_title) with graceful fallback on older versions - Lazy import of AyatanaAppIndicator3 (only when applet mode is used) - Enable autostart in KDE (remove from NotShowIn in print-applet.desktop.in) Co-authored-by: Z.AI GLM
|
Hey, @mikhailnov , I went through the updated diff, including the AppIndicator migration and the changes around tray visibility and status updates. The overall implementation looks good to me. One thing I'd like to clarify before approving: the "activate" signal is noted as requiring libayatana-appindicator >= 0.6.0. How is this handled at the packaging/dependency level for systems with an older version? Is the expected fallback simply the AppIndicator context menu without left-click activation? Also, for "set_tooltip_title()", is silently skipping the tooltip on older versions intentional? Apart from that, the migration looks consistent to me. |
Co-authored-by: Z.AI GLM
We in ROSA and MOS decided to use system-config-printer in KDE 6 out of the box, not KDE's print-manager, because s-c-p works better in adding printers and has integration with polkit. print-manager will require a lot of attention to start working not worse.
CC @alexpevzner