@@ 1,22 1,14 @@
snixembed - proxy StatusNotifierItems as XEmbedded systemtray-spec icons
INFO: recent electron versions [supports XEmbed tray icons again for now](https://github.com/electron/electron/pull/23674).
-This means snixembed is of limited use. It will however be maintained in case
-electron or other software eventually drops their XEmbed support again.
-Previously, electron dropped support for the old XEmbed-based system tray
-protocol, while many status bars for simple X window managers still do no not
-support newer protocols like [StatusNotifierItem](https://freedesktop.org/wiki/Specifications/StatusNotifierItem/).
-This project is basically a dirty hack using deprecated GTK+ StatusIcons to
-proxy this new specification to the old one.
-
-As newer electron versions support the old XEmbed-based tray icons again,
-snixembed is currently not very useful, unless you rely on those old versions.
-(or rely on chromium tray icons, which still only support StatusNotifierItem)
-Most other software supports XEmbed icons as a fallback.
-
-While snixembed works fine with most setups, some bars and DEs provide their
-own optional SNI support, which should be preferred when available.
+While many status bars for simple X window managers do not (yet) support
+[StatusNotifierItem](https://freedesktop.org/wiki/Specifications/StatusNotifierItem/)
+for displaying system tray icons,
+some software does not fall back to the widely supported XEmbed-based tray icon protocol.
+snixembed acts as a proxy between the new and old.
+(It does this by presenting itself as a StatusNotifierHost on the session bus,
+and using GTK+3 to maintain corresponding XEmbed tray icons.)
## Status
Currently supported:
@@ 27,21 19,22 @@ Currently supported:
- tooltips (on hover, all markup except hyperlinks)
- limited AppIndicator support as a fallback (see Known issues and workarounds)
-This is enough for electron apps like Riot and Signal, and also for most Qt
-apps as the list above includes all functionality QSystemTrayIcon permits.
+This is enough for most software, such as electron and Qt based applications.
Please see the known issues and issue tracker if an app doesn't work properly.
ยน: so-called AttentionIcons and OverlayIcons are not supported, but I have yet
to encounter software that uses this part of the spec. Qt does not support it.
## Usage
-Simply launch `snixembed` to start watching for icons.
+Launch `snixembed` to start watching for icons.
Some applications only present a tray icon if snixembed is available on start.
For autostarting, use `snixembed --fork` before starting SNI applications to
avoid race conditions. This will fork once the service is running. (e.g. in an
`.xinitrc`, use `snixembed --fork` instead of `snixembed &` before tray apps)
+See also the included man page.
+
## Issues and support
Issues are tracked on sourcehut: [~steef/snixembed](https://todo.sr.ht/~steef/snixembed).
There's a Matrix room at [#snixembed:matrix.org](https://matrix.to/#/#snixembed:matrix.org)
@@ 57,8 50,8 @@ for discussion and support. Come say hi!
These should be packaged in most major distributions.
### Building
-Simply run `make` to build and if desired `make install` to install, by default
-to `/usr/bin/snixembed`.
+Run `make` to build and if desired `make install` to install,
+by default to `/usr/bin/snixembed`.
### Packages
There are AUR packages available: