This plugin aims to implement the StatusNotifierItem for DeaDBeeF.
It tends to replace default tray icon on DE that supports StatusNotifierIitem protocol. It also aims to provide tray icon for deadbeef on DE where old xmbedded icons aren't supported anymore, such as KDE Plasma 5, GNOME(3+), Cinnamon, etc.
WARNING! GNOME supported using the Appindictor Extension or similar.
WARNING! Cinnamon supported using the XAppStatusIcons extension
If you know how to fix certain bugs, patches are welcome.
- The window is not restored in Wayland-based environments because Wayland (and GTK3 Wayland backend) does not provide access to top-level window management. Provided the ability to block minimization using the option
Enable minimize on icon click
- HTML notification tooltip style and icons is only supported by KDE Plasma
- GNOME don't support notifiction tooltips (at least for the Ubuntu Appindicator extension)
- GNOME SNI overlay icons work incorrect (update after refresh icon area)
- Cinnamon don't support SNI overlay icons
- In the new version of KDE Plasma (> = 5.19, Ubuntu 20.10), tooltip icons are not displayed. This is tested on KDE Plasma 5.5 (Ubuntu 16.04) and works correctly.
cmake
(optional)gtk 2.x
- for gtk 2 versiongtk 3.x
- for gtk 3 versionlibdbusmenu-glib-0.4
- for dbusmenu- deadbeef development files.
You will need to add packman repository for deadbeef itself (probably you already done this :) ).
sudo zypper in cmake deadbeef-devel libdbusmenu-glib-devel gtk3-devel
You will need to find any repository with for deadbeef itself and add it to your system (probably you already done this :) ).
sudo yum install cmake deadbeef-devel libdbusmenu-devel gtk3-devel
You will need to find any repository with for deadbeef itself and add it to your system (probably you already done this :) ). Package name with development files for deadbeef will depend on selected ppa.
sudo apt-get install cmake deadbeef-plugins-dev libdbusmenu-glib-dev libgtk-3-dev
yaourt -S deadbeef-plugin-statusnotifier
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DUSE_GTK=OFF ..
make
make install
make
Use target gtk2
or gtk3
for separate build. Install target NOT support. Build only gtk3 with all
target.
WARNING! gtk2 build needed glib >= 2.24
with GVariant
data type support.
Once the plugin is installed, restart (or start) deadbeef. By default, this plugin will automatically replace default tray icon. You can change this behaviour in plugins settings (open deadbeef's preference, select plugins tab, select StatusNotifier plugin, select settings).
Note, that by default, this plugin automatically enables "hide tray icon" option in deadbeef's settings (if disabled) on startup and restores it's value on shutdown. But if shutdown was not clean (appliaction crashed, killed or something like this) then value for "hide tray icon" won't be restored.
-DUSE_GTK
- Whether to build gtk2 verion or not. Default: ON-DUSE_GTK3
- Whether to build gtk3 verion or not. Default: ON-DUSE_CUSTOM
- Use custom (not system) glib-mkenums script. Default: ON-DCMAKE_INSTALL_PREFIX
- Where to install. Default:/usr/local
-DLIB_INSTALL_DIR
- Name of system libdir. Default:lib