I was in this situation recently: An application icon would not show up in GNOME shell, even after I double- and triple-checked that I did all the right things:
- Installed the desktop file with the right name in /usr/share/applications
- Installed the icon with the right name in the hicolor icon theme
- Make sure that Icon key in the desktop file has the right name
- Restart GNOME shell (this is necessary due to a bug where GNOME shell will not reliably pick up desktop file changes)
Still, I just get the generic executable icon:
GNOME shell to the rescue
I asked GNOME shell maintainer Florian Müllner for help. He said: GNOME shell is probably picking up a stale desktop file from somewhere.
But from where ? I checked all the locations listed in XDG_DATA_DIRS to no avail. At this point, I was getting desperate, so I went back to Florian. He said: Just use looking glass to find out! If you don’t remember, looking glass is a pretty handy debugging console that is built right into GNOME shell. You open it by typing the command
Into the Alt-F2 run dialog.
This brings up the looking glass. Here is how it helped me solve my problem:
Going there, I then typed the command
And that showed the problematic desktop file:
I removed that file and restarted the shell once more, and now everything is working as it should:
Thanks, looking glass!
The GTK+ 4 work is continuing at full speed, and today I want to show one of the first concrete benefits from the GSK merge: We can now record and replay frames. If you ever wondered why your animation does not look quite right, this might be just the tool for you.
To try this new tool, find the Recorder tab in the GTK+ inspector, and use the record button. As you can see, we capture and save the render node tree for each frame that the application draws, as long as recording is enabled (you want to be a bit careful, this is quickly eating up a lot of memory).
The leftmost pane lets you select one of the recorded frames. The middle pane shows the render node tree, and if you select a node there, the rendering on the right is updated to show only that subtree’s effect on the frame.
This is pretty nifty, and will hopefully be very useful in improving the GSK integration in GTK+, as well as helpful for debugging rendering problems in applications.