4.2 inconsistencies with app menu icons

I recently upgraded to 4.2 and enjoy the overall upgrade. Small nitpick on the app menus.

I created bunch of VMs using debian-12-minimal + salt combination. I see that, in app menu, in some instances the Xterm app icon is correct and in some cases the icon is appvm icon. Below are the two examples the fist one has appvm icon and the second one has debian-xterm.png icon. Doesn’t bother me much but thought I’ll report it. I guess I can just copy the icons and update the .desktop file. But I am interested to know why is this happening. Any ideas?

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
X-Qubes-VmName=vm-dev
X-Qubes-AppName=debian-xterm
Icon=appvm-blue
Name=vm-dev: XTerm
Comment=standard terminal emulator for the X window system
Categories=System;TerminalEmulator;X-Qubes-VM;
Exec=qvm-run -q -a --service -- vm-dev qubes.StartApp+debian-xterm
X-Qubes-DispvmExec=qvm-run -q -a --service --dispvm=vm-dev -- qubes.StartApp+debian-xterm

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
X-Qubes-VmName=vm-media
X-Qubes-AppName=debian-xterm
Icon=/home/<user>/.local/share/qubes-appmenus/vm-media/apps.icons/debian-xterm.png
Name=vm-media: XTerm
Comment=standard terminal emulator for the X window system
Categories=System;TerminalEmulator;X-Qubes-VM;
Exec=qvm-run -q -a --service -- vm-media qubes.StartApp+debian-xterm
X-Qubes-DispvmExec=qvm-run -q -a --service --dispvm=vm-media -- qubes.StartApp+debian-xterm

The icon is updated to the correct one after refreshing the applications list.

1 Like

I’ve observed that in some cases refreshing doesn’t fix it immediately, but only after the next reboot…in any case you should refresh the applications list.

@apparatus @Bearillo Both your suggestions did not work for me. I still have wrong icon. Also, I suggested a workaround to fix it in my question. My question is about cause of the problem and not the workarounds to fix it.

The package installation is triggering the post-installation script /etc/qubes/post-install.d/10-qubes-core-agent-appmenus.sh that checks whatever new .desktop files are installed and if there are new .desktop files then it triggers appmenu syncing.
So in your vm-dev qube no new packages installed .desktop files and in your vm-media qube some package installed new .desktop file which triggered the appmenu sync.