Thank you to unman for giving me the thread to follow.
The way the icons are chosen could be improved easily.
I'd be happy to contribute a patch if I knew the procedure
for doing so.  (It would not touch dom0.)

To close out the thread, here is the answer to my question.
The process of updating the Q menus is controlled by dom0's
/usr/lib/python3.5/site-packages/qubesappmenus/receive.py.
When updating the Q menus, dom0 first asks the vm for its
desktop files.  The vm provides these using 
/etc/qubes-rpc/qubes.GetAppmenus, which is a shell script
that jumbles all the desktop files on the system
together and sends to stdout.  dom0 sanitizes and parses this,
and assembles the results into a bunch of desktop files in
dom0's ~/.local/share/qubes-appmenus/VM.  As it is doing this
it notes which icons specified in the desktop files have 
relative paths (typically, all of them).  For each icon name,
dom0 asks the vm to run /etc/qubes-rpc/qubes.GetImageRGBA 
and deliver the resulting icon file to dom0.  For icons
described by a relative path, the first thing
this shell script does is resolve the icon name to a file name using 
/usr/lib/qubes/xdg-icon, which is also a shell script, and is
where the actual resolution takes place.

This resolution is simplistic.  It uses a fixed list of
icon theme names (on my system: Humanity, Adwaita, gnome, oxygen),
followed by any additional icon themes in /usr/share/icons.  
The first theme that has a suitably named icon is the theme
whose icon file gets used.  I don't have Humanity installed, so
I was getting Adwaita icons every time, and overwriting them
was the only way I could change my icons.

A simple fix is to insert my desired icon theme at the beginning
of the fixed list of themes.  This is not the right
way to solve the problem in general.  To solve it properly would
require deciding what the right behavior is: should the theme
used in dom0 (meaning: one of the same name) get used?  Or should the
theme preferred by that template's user account get used? Not
sure what the most natural answer is.  But I'm satisfied for now.

Thank you!
Daniel

-- 
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-users+unsubscr...@googlegroups.com.
To post to this group, send email to qubes-users@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/20190302173219.78fddd83%40allcock.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to