From: Manuel Nickschas Date: Mon, 11 Jun 2018 19:07:37 +0000 (+0200) Subject: icons: Fix icon theme support for StatusNotifierItem X-Git-Tag: travis-deploy-test~39 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=9f0918fca1d858523104435690e5094bfe6244b7;hp=9f0918fca1d858523104435690e5094bfe6244b7 icons: Fix icon theme support for StatusNotifierItem If SNI is used, the tray icons are passed along to the visualizer by name rather than as a pixmap (the SNI protocol would support pixmaps too, however that is a) discouraged and b) not supported e.g. in Unity). The SNI interface supports a more or less undocumented attribute IconThemePath, which may contain an additional path for the visualizer to look into for specific icons. At least Plasma and LXQt seem to expect a hicolor theme in the given directory. Have StatusNotifierItem create a skeleton hicolor theme containing the tray icons in a temporary directory, and pass that along via IconThemePath. The tray icons to be saved are dynamically determined using the current icon theme/fallback. All available icon sizes are saved as pixmaps; sadly, with the dynamic approach, scalable icons cannot be supported. Alternatively, one could hard-code the relevant .svg files from the fallback themes, and copy those, but that would just be annoying - and kill themeability. ---