Ludovic Courtès skribis: > This is not news to us, but as > notes, the > application menu of desktop environments is not automatically updated > when a package is installed or removed. It’d be great if we could > somehow notify the desktop environment. We’ve investigated today on IRC with Maxim and Leo P. and here’s the summary of our findings: • GNOME Shell, in ‘appDisplay.js’, “listens” to the ‘installed-changed’ GLib signals and uses that to rebuild its application menu. • In ‘shell-app-system.c’, ‘installed-changed’ is emitted when the GAppInfoMonitor emits ‘changed’: monitor = g_app_info_monitor_get (); g_signal_connect (monitor, "changed", G_CALLBACK (installed_changed), self); installed_changed (monitor, self); • GLib emits the ‘changed’ signal when ‘g_app_info_monitor_fire’ is called from ‘desktop_file_dir_changed’, itself called when one of the directories in $XDG_DATA_DIRS (among others) changes. It uses ‘GFileMonitor’ under the hood, which is essentially inotify. The GLib patch below is an attempt to monitor ~/.guix-profile and to treat changes to that symlink as if they were changes to ~/.guix-profile/share/applications (which contains ‘.desktop’ files.) It actually builds but I haven’t tested it yet. :-) WDYT? If we take that route, we could add a ‘replacement’ for GLib. Thanks, Ludo’.