An open API service indexing awesome lists of open source software.

https://github.com/bnema/xtrayhide

Capture and hide X11 tray icons on Wayland, expose them as SNI
https://github.com/bnema/xtrayhide

go linux sni statusnotifieritem systray wayland x11 xembed

Last synced: about 1 month ago
JSON representation

Capture and hide X11 tray icons on Wayland, expose them as SNI

Awesome Lists containing this project

README

          

# xtrayhide

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.

## Install

```sh
go install github.com/bnema/xtrayhide/cmd/xtrayhide@latest
```

Or build from source:

```sh
git clone https://github.com/bnema/xtrayhide
cd xtrayhide
make install
```

Then enable the systemd service:

```sh
systemctl --user enable --now xtrayhide
```

## Usage

Just run `xtrayhide`. It will:

1. Become the X11 system tray owner
2. Capture any docking tray icons
3. Hide the X11 windows (keep them unmapped)
4. Expose each icon as an SNI on D-Bus
5. Forward clicks from SNI back to the hidden X11 window

## License

MIT