Subject: Re: bug#35594: GNOME: Application icons are not displayed immediately after installation

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 03 Nov 2020 14:14:09 -0500

Hello,

Maxim Cournoyer <[email-masked]> writes:

> After asking in the #gnome channel on freenode, the problem is likely
> caused by GNOME Shell using inotify to watch the $XDG_DATA_DIRS
> referenced $HOME/.guix-profile/share/applications directory.   The
> problem is that the inode of such directory will never change, as it
> points to the current profile under /gnu/store:
>
> $ ls -id $HOME/.guix-profile/share/applications
> 72653730 /home/maxim/.guix-profile/share/applications/
> maxim@hurd ~/src/guix$ realpath $HOME/.guix-profile/share/applications
> /gnu/store/ph6a7fy735w5nycmf3za77m6v3g0r7xb-profile/share/applications
> maxim@hurd ~/src/guix$ ls -id /gnu/store/ph6a7fy735w5nycmf3za77m6v3g0r7xb-profile/share/applications
> 72653730 /gnu/store/ph6a7fy735w5nycmf3za77m6v3g0r7xb-profile/share/applications/
>
> Any applications making use of inotify to discover changes (to plugins,
> for example) is at risk of having the same problem in Guix.
>
> I don't currently have an idea of how we can fix this.

Watching of the directory is done via Glib's GAppInfoMonitor
(gpio/gdesktopappinfo.c).  A suggested idea from #gnome-shell would be
to patch its desktop_file_dir_init() procedure with Guix-specifics; I
don't know *how* yet.  The folks in #gtk may provide some clues.

Maxim