~steef/snixembed

version 0.3.0

See tag for announcement.
logging: ignoring reregistration now not a warning
makefile: do not require git

We will now only use git if .git/HEAD is found, otherwise the version
info is pulled from version.vala as is.
INFO: electron supports XEmbed tray icons again!

See https://github.com/electron/electron/pull/23674. This means
snixembed is of limited use for now, if you are running the latest
electron version.
async: track IconThemePath updates again

Fixes ~steef/snixembed#5 as far as we can (old node versions still send
nonexisting IconThemePaths sometimes, so icons may still break).
ignore empty icon names
README: link to Void package by projectmoon
README: known issue: gtk_widget_get_scale_factor

This could mean no XEmbed tray is present. Thanks to projectmoon.
StatusIcon: set name after it exists

Apparently Gdk raises a critical error if a name is set before an icon
is set, maybe the window is not yet created at this point. See
https://github.com/dorkbox/SystemTray/issues/19 for context.
code quality, notably spaces for indentation

This is horrible for git blame and whatnot, but luckily I'm always to
blame so far. Better now than later.
mention powerman's ebuild
asynchronous D-Bus proxy and property updates

Should fix some issues with hanging across the board. See
~steef/snixembed#7.

The implementation is not pretty, but Vala/Gobject is partly to blame.
Or I have completely misunderstood how it all works. In any case, this
does the job.
watcher: ignore repeated registration

Apparently the Blueman applet likes to register the same item about 20
times every time bluetooth gets toggled. This leads to rapid increase in
D-Bus watchers both for the watcher as well as DbusMenuGtk, and what
seems to be a memory race condition as a bonus. The spec is ambiguous
here, but for now we assume reregistering an item while it is still
alive can be ignored. Warning added in case this turns out to break
stuff in the wild.
set WM_CLASS hint to StatusNotifierItem.Id

This should fix some issues with creative traybar implementations.
See todo.sr.ht/~steef/snixembed/4.
Update README

Add Matrix room, try to be more clear on the --fork functionality, move
up the issue tracker and remove WIP from title to not scare off new
users too much (as it Just Works™ with many setups now).
icon theme tweaks

Get the theme from the icon's screen, and make it rescan if needed.
Pretty sure it doesn't know whether it's needed since Skype icons only
start showing up after ar restart.. but it works fine for others.
quick minimal appindicator patch

Currently supported: icon names and icon theme names, menus. Tooltips do
not appear to work, more research is needed in this department.

This patch also breaks the SNI item_registered D-Bus signal, meaning
less spec coverage. Then again, this signal does not seem to be used by
anything in the wild, and it could easily be made available if needed.
Until then, it's probably just some saved cycles.
add another workaround
workaround for libappindicator
icon name: check for null (Gtk warning)
freedesktop icons support
Next