desktop-image icon indicating copy to clipboard operation
desktop-image copied to clipboard

Distrobox icons broke after updated to Gnome 46

Open dmgnr opened this issue 1 year ago • 10 comments

Issue Description

I immidiately noticed gnome got updated to version 46 after I booted my laptop one day But another thing I also noticed is that icons from apx containers are broken, as below image Firefox and files are on host, while vscode and spotify(those 2 on right side) are from pico

Steps to Reproduce

  • Update to latest orchid
  • Run an app from pico
  • See the desktop icon being default executable icon on panel/dock/etc.

On what version of Vanilla OS this happens?

~~22.10~~ unreleased (Orchid)

Additional Information

No response

dmgnr avatar Jul 09 '24 12:07 dmgnr

the bug hunter is back

orbit-psd2 avatar Jul 09 '24 15:07 orbit-psd2

orbit this aint a joke

dmgnr avatar Jul 09 '24 15:07 dmgnr

Can you try re-exporting the apps using vso export -h?

mirkobrombin avatar Jul 09 '24 17:07 mirkobrombin

My gnome crashed as soon as I did vso export -a code

dmgnr avatar Jul 10 '24 12:07 dmgnr

Also, this is reproducible even with new desktop entries. For example running this in the container:

sudo apt install gedit

will install gedit correctly but if you open it it doesn't have an icon.

taukakao avatar Jul 10 '24 14:07 taukakao

Looks like a window tracking issue. Doesnt effect every app. Gimp, for example, shows its icon correctly. I'm guessing this can be fixed during the export process, but I havent looked at it yet.

This can be verified by opening the window and using Alt + F2 to execute lg

Image

jardon avatar Aug 31 '24 21:08 jardon

After a reboot i think, the problem sorted itself out in the app list, BUT the problem still persists when launching the application. This is very likely a wmclass issue. I haven't looked at the export process for apps here, but that may be something that we can fix during that process.

Any thoughts?

image

jardon avatar Sep 02 '24 14:09 jardon

The export is managed by distrobox. Could be a bug in there?

mirkobrombin avatar Sep 02 '24 14:09 mirkobrombin

I found several bugs related to this:

If I understand correctly, these are the takeaways:

  1. This only affects applications that run on X11 or Xwayland
  2. distrobox guests have different hostnames than the host so GNOME treats them as remote applications and doesn't match them to the correct application

Potential fixes:

  1. Edit StartupWMClass of application, but that would require reliably applying that to .desktop entries that don't already have it
  2. Rename the .desktop files to omit the guest name
  3. Match distrobox guests hostname to host (requires recreating all guests)

Edit: The link to the solution in the upstream bug is no longer a valid link, but the git history shows a snippet for setting the distrobox guest hostname:

distrobox create --name test --hostname "$(uname -n)" --image your-chosen-image:tag

jardon avatar Sep 02 '24 17:09 jardon

I have confirmed that renaming the .desktop file works as a workaround. For example:

mv .local/share/applications/apx-vso-pico-org.gnome.gedit.desktop \ 
.local/share/applications/org.gnome.gedit.desktop

Ideally, these applications would be updated to run natively under Wayland, but this works for the time being.

jardon avatar Sep 07 '24 18:09 jardon