Captures X11 system tray icons (XEmbed) and hides them, exposing them as modern StatusNotifierItem (SNI) icons instead.
Useful on Wayland compositors (like niri) where XWayland tray windows appear visible and always-on-top.
go install github.com/bnema/xtrayhide/cmd/xtrayhide@latestOr build from source:
git clone https://github.com/bnema/xtrayhide
cd xtrayhide
make installThen enable the systemd service:
systemctl --user enable --now xtrayhideJust run xtrayhide. It will:
- Become the X11 system tray owner
- Capture any docking tray icons
- Hide the X11 windows (keep them unmapped)
- Expose each icon as an SNI on D-Bus
- Forward clicks from SNI back to the hidden X11 window
MIT