Icons missing on ssh -X, or: no real system default for icon theme
Friedrich W. H. Kossebau
kossebau at kde.org
Thu Dec 10 15:38:11 UTC 2015
Am Sonntag, 6. Dezember 2015, 23:39:13 schrieb Albert Astals Cid:
> El Sunday 06 December 2015, a les 13:56:19, Thorsten Zachmann va escriure:
> > Hello all,
> >
> > I use a separate user for running calligra. I use ssh -X to login from my
> > normal desktop user to my kde running user. However when I start any
> > kde application I have no icons.
>
> You are not using any desktop environment thus the Qt defaults to the
> generic Unix icon theme, i.e. hicolor.
>
> Blame Linux for not having a cross desktop environment way to define what is
> the icon theme to use.
Question is who should set what here?
I think there are two issues:
a) with ssh -X the workspace where the GUI is shown is the origin of the ssh
connection, so its settings ideally are picked up to integrate there, not the
one of the system where the app is executed
b) workspace icon theme might be one whose (inherited) catalog does not
contain everything needed by the app
NO SYSTEM SETTING FOR REAL DEFAULT ICON THEME
For a) I have no clue how the needed info could be passed to the app, so it
(or the QPA plugin) knows what to try to use in terms of theme/language/etc.
Anyone with an idea here?
Though X itself does not know about icon themes, so doing ssh -X with just a
plain X server behind should also be supported, when just DISPLAY and some
XAUTHORITY (& else?) would be set by ssh -X.
Then, IIRC "hicolor" is only an imaginary fallback theme, never to be set used
itself (there also is no hicolor default theme for the min. recommended icon
names from fdo). So ending up with "hicolor" as theme set is an error in any
case, right?
As Albert said, seems there currently is no option to set a system-wide real
default icon theme (which then would be used or overruled by whatever
workspace in which apps run locally).
So time to add one, via XDG. Any takers to push that? And until that has been
established, any ideas how to support that by some non-standard namespaced KF5
temporary solution? It would need patching of the non-KF5/Plasma Qt QPA
plugin, to read some env var or some file, I assume?
How would that best be implemented?
HARDCODING THEMES, PLEASE ONLY AS ULTIMA RATIO
For b) IMHO hardcoding apps to one certain theme should not be the only answer
we can come up with. I would see that as a step back rather:
* there would be duplicated efforts in icon creation with everyone doing there
own special themed icon (copies)
* at runtime even different versions of the same icon type might be used, as
each app has its own copy (& not updated in-sync from normal breeze iconset)
* preventing new icon themes to be created, as every app would need to be
hacked to enable the new theme during development
* one currently does not know what icons the KF5/Qt5/* libs & plugins used by
the app need and if they exist (imagine you hardcoded to "oxygen", and now the
libs use icons only in breeze. e.g. what if "breeze" is soon dropped for some
"storm"?)
Instead I would like to see us rather come up with proper documentation of
icon ids used by the apps (& libs & plugins) and provided by the different
icon themes.
So it is possible to check to what degree which icon themes match the set of
apps/plugins/libs one uses. To decide if picking some other fancy icon theme
will work for the personal needs. Or to see which icons are missings, or which
are not used at all.
In Calligra we have some initial support for overseeing icon ids used, due to
some "koIcon" tagging (reusing mechanisms of "i18n"). I hope to brush that up
and turn that into something for ECM, so everyone can use it. If someone is
interested to help there, please contact me.
(When creating app bundles for those alien systems like Android, Windows, OSX,
where each bundle rather needs their own copies of all used libs&resources,
knowing what subset of icons are used by the own stack allows to avoid to
include the complete big Breeze icontheme).
> > With strace I can see it searches for
> > icons in the hicolor folder instead of breeze.
> > With the help of David Faure I found out the the icons are shown as
> > expected when I call
> >
> > export KDE_FULL_SESSION=true
> >
> > before starting the application.
> >
> > I think using an application via ssh -X is used quite often and it should
> > work out of the box with the need of setting any special export. Maybe you
> > have an idea on how the behaviour can be improved.
> >
> > Please CC me as I'm not subscribed to the list.
> >
> > Thorsten Zachmann
Cheers
Friedrich
More information about the Kde-frameworks-devel
mailing list