regolith-linux / ilia

A GTK-based Desktop Executor
Apache License 2.0
75 stars 10 forks source link

illia doesn't display `.desktop` symlinks from Home Manager #75

Open worldofgeese opened 11 months ago

worldofgeese commented 11 months ago

My XDA_DATA_DIRS shows /usr/share/gnome:/home/worldofgeese/.local/share/applications/home-manager:/nix/var/nix/profiles/default/share:/home/worldofgeese/.nix-profile/share:/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop:/usr/share/regolith-sway:/home/worldofgeese/.local/share/flatpak/exports/share:/home/worldofgeese/.local/share/applications/home-manager:/nix/var/nix/profiles/default/share:/home/worldofgeese/.nix-profile/share:/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop

Snap and Flatpaks display but not any .desktop applications listed in $HOME/.nix-profile/share/applications

11:00:05 worldofgeese@jahi applications → ls -lah ~/.nix-profile/share/applications/
dr-xr-xr-x root root 4.0 KB Thu Jan  1 01:00:01 1970  .
dr-xr-xr-x root root 4.0 KB Thu Jan  1 01:00:01 1970  ..
lrwxrwxrwx root root 101 B  Thu Jan  1 01:00:01 1970  code-url-handler.desktop ⇒ /nix/store/pni4jilmjrh98j9xlnmp84z74fpy0vgh-vscode-1.82.2/share/applications/code-url-handler.desktop
lrwxrwxrwx root root  89 B  Thu Jan  1 01:00:01 1970  code.desktop ⇒ /nix/store/pni4jilmjrh98j9xlnmp84z74fpy0vgh-vscode-1.82.2/share/applications/code.desktop
lrwxrwxrwx root root 106 B  Thu Jan  1 01:00:01 1970  github-desktop.desktop ⇒ /nix/store/iw7sgk4g8wqgrss8qb23wgqg246mp5sq-github-desktop-3.2.5/share/applications/github-desktop.desktop
lrwxrwxrwx root root 118 B  Thu Jan  1 01:00:01 1970  kwalletmanager5-kwalletd.desktop ⇒ /nix/store/4zms513la810ipgvv74ggv1lyc4nqvs2-kwalletmanager-23.08.1/share/applications/kwalletmanager5-kwalletd.desktop
.r--r--r-- root root 360 B  Thu Jan  1 01:00:01 1970  mimeinfo.cache
lrwxrwxrwx root root 117 B  Thu Jan  1 01:00:01 1970  org.kde.kwalletmanager5.desktop ⇒ /nix/store/4zms513la810ipgvv74ggv1lyc4nqvs2-kwalletmanager-23.08.1/share/applications/org.kde.kwalletmanager5.desktop
lrwxrwxrwx root root 115 B  Thu Jan  1 01:00:01 1970  pycharm-community.desktop ⇒ /nix/store/i8fkzmq5parfnkks9x73ghs6m33b40ix-pycharm-community-2023.2.1/share/applications/pycharm-community.desktop

Home Manager and, by extension, Nix, are a huge source of my applications. These entries are picked up by GNOME on Wayland but not illia. Here is GitHub Desktop on GNOME:

image

I'm using illia on Regolith 3 Sway.

peterrus commented 3 weeks ago

If this is still relevant: as a test, could you change the Exec and TryExec paths in one of the desktop files to the absolute path instead of something like just pycharm?

Does the item then show up in Ilia?

And if you manually launch ilia from a terminal, do the items then show up?

Elyrie commented 2 weeks ago

I have the same problem.

If I change the Exec to an absolute path, Ilia starts to find the program.

Also if I manually launch ilia, it works even without changing the .desktop file to absolute path.

peterrus commented 2 weeks ago

Yeah that is exactly what lead me to write https://github.com/regolith-linux/regolith-desktop/issues/1042

My theory is that because whatever is in Exec is not in the $PATH env. var that your regolith session 'sees' but is in the $PATH of your terminal session where you manually launch ilia. Then, ilia calls app_info.should_show() which I believe checks if the .desktop file is valid enough to show in the list of apps. This is just what I gathered from a cursory glance and I am no Vala developer so I might be wrong about this.

As stated in the linked issue this problem went away as soon as I upgrade to Ubuntu 24.04. I believe this might have something to do with how a session is initialized.

peterrus commented 2 weeks ago

@Elyrie

Elyrie commented 6 days ago

Login shell is /home/username/.nix-profile/bin/zsh

Sorry, can't try with i3 session now