There are .desktop
files in Linux that are used to populate application lists and launchers. This is separate from grabbing a list of all executables in $PATH.
Specifically, it has more metadata like human-readable application names, icons and categories.
There are paths for system-level applications. But the user can also add .desktop
files in their $HOME directory. In my system, the path for user-local .desktop files is ~/.local/share/applications/
.
Useful links
- https://specifications.freedesktop.org/desktop-entry-spec/latest/index.html
- https://specifications.freedesktop.org/menu-spec/latest/category-registry.html
- https://specifications.freedesktop.org/menu-spec/latest/additional-category-registry.html
- https://wiki.archlinux.org/title/Desktop_entries