shell icon indicating copy to clipboard operation
shell copied to clipboard

Missing applications in launcher (XDG_DATA_DIRS ignored?)

Open colinxs opened this issue 2 years ago • 4 comments

(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):

  1. Install any application with a desktop entry using Nix
  2. Log out/in to refresh desktop database
  3. 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:

colinxs avatar Oct 24 '21 19:10 colinxs

This was supported before the Rust rewrite: https://github.com/pop-os/shell/commit/2fb9c406e975c718d2d05a63dc2f69772f25c081

jacobgkau avatar Oct 25 '21 14:10 jacobgkau

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 avatar Jan 13 '22 05:01 reddraggone9

@reddraggone9 could you please share your workaround?

felkal avatar Apr 10 '22 13:04 felkal

@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.

reddraggone9 avatar Apr 10 '22 17:04 reddraggone9