From bdff2ace539df78bc3c00329bd4a221839304c2b Mon Sep 17 00:00:00 2001 From: Steef Hegeman Date: Thu, 4 May 2023 14:58:12 +0200 Subject: [PATCH] update README --- README.md | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 6de3771..b21b6f4 100644 --- a/README.md +++ b/README.md @@ -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: -- 2.38.5