Danny Milosavljevic writes: >>If a software component comes with desktop files, what's the right place to put them relative to the component's output path? > > share/applications > >> I think we're doing this already for some Guix packages, but since my >> knowledge of the FreeDesktop standard is limited, I'm not sure if it's >> by accident or if it's intentional. > > It's intentional. I'm actively filing bugs and fixing them if GUI > programs don't have a desktop file - because that's just silly, having > a program you can't (easily) run. > > See guix/profiles.scm xdg-desktop-database for the profile hook that merges all the share/applications directories of the packages in the profile. > For the hook to be run, desktop-file-utils (of freedesktop) has to be > an input of the package or some of its dependencies (i.e. it has to be > available on the build side in the environment). > > I think we should just make desktop-file-utils a propagated-input of gtk. > > (In fact, even gio (part of glib) already supports desktop files: > https://developer.gnome.org/gio/stable/gio-Desktop-file-based-GAppInfo.html > . However, there are lots of non-GUI programs using glib. For > example, desktop-file-utils uses glib) > > Disclaimer: I have no idea how KDE works - but desktop-file-utils seems to be missing entirely there. Qt doesn't require it either. Weird. > > Similar stuff is done if GLIB is a dependency of a package, for xdg-mime-database. Is this supposed to work "out of the box" on foreign distros? I've noticed that when I install an application (e.g., "cool-retro-term"), the application shows up via the "Search" feature of the "Application Overview" in GNOME3 on GuixSD [1], but not in Ubuntu via the Dash's search results [2]. In Ubuntu, I tried adding $HOME/.guix-profile/share to the XDG_DATA_DIRS, but even after rebooting, the Dash search still failed to find the application. In Ubuntu, the application only showed up in the Dash search results after I manually copied the desktop entry for the application out of the store and put it into a well-known location, such as ~/.local/share/applications. I might have also had to set the executable bit [3]; I can't remember exactly, and I've since deleted the file because I wasn't satisfied with this work-around. [1] https://wiki.gnome.org/Gnome3CheatSheet#Activities_Overview [2] https://help.ubuntu.com/stable/ubuntu-help/unity-dash-intro.html [3] https://askubuntu.com/questions/419610/permission-of-a-desktop-file https://wiki.ubuntu.com/SecurityTeam/Policies#Execute-Permission_Bit_Required -- Chris