shell
shell copied to clipboard
Missing applications in launcher (XDG_DATA_DIRS ignored?)
(1) Issue/Bug Description:
I use Nix as a package manager on PopOS, which installs packages to ~/.nix-profile
. Desktop entries live at ~/.nix-profile/share/applications
. These applications do not appear in the launcher. XDG_DATA_DIRS
is correctly set and includes ~/.nix-profile/share
.
It appears the issue stems from this code which ignores XDG_DATA_DIRS
.
Issue was originally filed at nix-community/home-manager#1439 but it looks like the bug is with pop-os/shell.
Ubuntu's "Show Applications" window correctly finds all the desktop entries in XDG_DATA_DIRS
.
(2) Steps to reproduce (if you know):
- Install any application with a desktop entry using Nix
- Log out/in to refresh desktop database
- Open launcher and search for installed package.
(3) Expected behavior:
All desktop entries found in XDG_DATA_DIRS
should appear in the launcher.
(4) Distribution (run cat /etc/os-release
):
NAME="Pop!_OS"
VERSION="21.04"
ID=pop
ID_LIKE="ubuntu debian"
PRETTY_NAME="Pop!_OS 21.04"
VERSION_ID="21.04"
HOME_URL="https://pop.system76.com"
SUPPORT_URL="https://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=hirsute
UBUNTU_CODENAME=hirsute
LOGO=distributor-logo-pop-os
(5) Gnome Shell version:
gnome-shell:
Installed: 3.38.4-1ubuntu3~21.04.1ubuntu1pop1~1623339707~21.04~2a1865d
Candidate: 3.38.4-1ubuntu3~21.04.1ubuntu1pop1~1623339707~21.04~2a1865d
Version table:
*** 3.38.4-1ubuntu3~21.04.1ubuntu1pop1~1623339707~21.04~2a1865d 1001
1001 http://ppa.launchpad.net/system76/pop/ubuntu hirsute/main amd64 Packages
100 /var/lib/dpkg/status
3.38.4-1ubuntu3~21.04.1 500
500 http://us.archive.ubuntu.com/ubuntu hirsute-updates/main amd64 Packages
3.38.4-1ubuntu2 500
500 http://us.archive.ubuntu.com/ubuntu hirsute/main amd64 Packages
(6) Pop Shell version (run apt policy pop-shell
or provide the latest commit if building locally):
pop-shell:
Installed: 1.1.0~1633445036~21.04~28c060e
Candidate: 1.1.0~1634592251~21.04~1de4139
Version table:
1.1.0~1634592251~21.04~1de4139 1001
1001 http://ppa.launchpad.net/system76/pop/ubuntu hirsute/main amd64 Packages
1001 http://ppa.launchpad.net/system76/pop/ubuntu hirsute/main i386 Packages
*** 1.1.0~1633445036~21.04~28c060e 100
100 /var/lib/dpkg/status
(7) Where was Pop Shell installed from:
ISO from website.
(8) Monitor Setup (2 x 1080p, 4K, Primary(Horizontal), Secondary(Vertical), etc):
N/A
(9) Other Installed/Enabled Extensions:
N/A
(10) Other Notes:
This was supported before the Rust rewrite: https://github.com/pop-os/shell/commit/2fb9c406e975c718d2d05a63dc2f69772f25c081
It looks like Nix support was recently hardcoded in, but the latest release is too old to include that change. I'd personally still like to see XDG_DATA_DIRS
and XDG_DATA_HOME
support. I ran into this when I added a directory I had just made up out of thin air only to see my desktop entries show up in the applications overview and not the launcher. For now I added my own hardcoded path, compiled the plugin, and stuck it at ~/.local/share/pop-launcher/plugins/desktop_entries/
to work around the issue.
PRs #764, #1005, #1018 look to have added this flexibility to the previous implementation and removed the hardcoded paths. @mmstick, would you be interested in something similar for the rust implementation?
@reddraggone9 could you please share your workaround?
@felkal This issue was resolved with pop-launcher version 1.2.0 and should be closed. My workaround is no longer necessary. Specifically, https://github.com/pop-os/freedesktop-desktop-entry/pull/3 added XDG_DATA_DIRS
support, and launcher version 1.2.0 was released 13 days ago including the updated desktop entries plugin. You can check your installed version using dpkg -s pop-launcher
and, if necessary, update your system.