On Montag, 17. April 2017 23:36:24 CEST Albert Astals Cid wrote: > El dilluns, 17 d’abril de 2017, a les 22:27:15 CEST, Milian Wolff va escriure: > > Hey all, > > > > how is one supposed to install different versions of icons for different > > icon themes? Say I have an icon for breeze, breeze-dark and oxygen. I went > > ahead and plumbed it into CMake with ECM's ecm_install_icons specifying > > THEME accordingly, but at runtime nothing is found... Only if I install > > into hicolor does it work for me > > > > Stracing makes me wonder whether the lookup rules match the installation > > logic... > > > > ECM installs to e.g.: > > > > /home/milian/projects/compiled/other/share/icons/breeze/16x16/apps/ > > hotspot.svgz > > > > Strace shows me the nearest match it looks into: > > /home/milian/projects/compiled/kf5/share/icons/breeze/apps/16/hotspot.svg > > > > - this is a wrong prefix, but both are listed in XDG_DATA_DIRS > > - it has the wrong directory structure, i.e. it's apps/16 instead of > > 16x16/ > > apps > > - it doesn't look for the svgz variant, even though ecm_install_icons says > > so > > > > So, clearly something is majorly broken here... If I install into the > > hicolor theme, things start to work since strace also shows that this path > > is looked up: > > > > /home/milian/projects/compiled/other/share/icons/hicolor/16x16/apps/ > > hotspot.svgz > > > > So I'm at a loss. At what level is this broken? Is this inside the KDE > > icon > > subsystem? Is this in ECM? Am I missing some environment variable? > > > > Any help would be appreciated, thanks > > Generally you can't do what you want to do. > > Themes describe where the icons live on their index.theme > > breeze/index.theme says > [actions/16] > Size=16 > Context=Actions > Type=Fixed > > hicolor/index.theme says > [16x16/actions] > Size=16 > Context=Actions > Type=Threshold > > So unless you hardcode the folder names for every single theme you want to > support into ecm (and hope they don't change) you can't install stuff into > multiple themes. > > For the svgz vs svg thing, breeze saying > KDE-Extensions=.svg > is the reason for it.
Hey Albert, sorry for the delay and thanks for the response. The above makes me wonder about the functionality of ecm_install_icons. As it stands, it is completely broken for anything but the hicolor theme, don't you agree? I would say we should fix it there, somehow... It is very unfortunate that the themes can come up with their own path mapping... How do other applications deal with this situation? Should the apps only install hicolor, and the other per-theme icons be submitted to the corresponding icon themes? Cheers -- Milian Wolff m...@milianw.de http://milianw.de
signature.asc
Description: This is a digitally signed message part.