abaddon
abaddon copied to clipboard
Optionally use AppIndicator for system tray
Adds extra codepath to use libappindicator to show system tray icon
Benefits:
- Icon will show on wayland panels
- Icon should show even when abaddon is running in a container ~(although I've not proven this with a test)~ Tested in distrobox
- AppIndicator silently switches between itself and GTK StatusIcon depending on what panel is available
Downsides:
- AppIndicator only uses a menu, no direct left-click callback
Other considerations:
- I am completely unable to test this on Windows or Mac. I believe the conditional CMake setup won't break those but I know almost nothing about CMake.
- I've successfully tested on Arch, Debian and Ubuntu. Both with and without libappindicator installed.
- Code consistency. I tried to auto-format to keep it in line, but that only broke it more. Please point out corrections I must make.
Packaging:
- Ubuntu/Debian
apt install libappindicator3-dev - Arch
pacman -S libappindicator-gtk3 - Fedora untested
is there any reason someone might want to not use appindicator even if they have it installed? idk if maybe it should have a cmake option
I wouldn't say 'never' but as AppIndicator falls back to Gtk StatusIcon internally if there's no appindicator service to use, I'd argue it covers ground better (except for Mac/Windows)