Hyprlauncher does not display SVG icons of a custom desktop application

Hyprland version
0.55.2-1

Hey everyone, so, I’m using the Proton services and I wanted to add a shortcut to my hyprlauncher menu which just opens a new browser tab with the service.

This is how I start hyprlauncher in ~/.config/hypr/hyprland.conf:

exec = hyprlauncher -d

I did not further configure hyprlauncher, so there is no ~/.config/hypr/hyprlauncher.conf file.

Here is my desktop file:

~/.local/share/applications/proton-calendar.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Proton Calendar
Comment=Access Proton Calendar in LibreWolf
Exec=librewolf --new-tab https://calendar.proton.me
Icon=/home/user/.local/share/icons/hicolor/scalable/apps/proton-calendar.svg
Terminal=false

The svg file exists and should have the correct permissions (I downloaded the SVG here: Proton Calendar Icon & Logo | Dashboard Icons & Logos ):

[user@host apps]$ ls -lah
total 28K
drwxr-xr-x 1 user user  160 Jun 16 23:43 .
drwxr-xr-x 1 user user    8 Jun 16 23:43 ..
-rw-r--r-- 1 user user 1.7K Jun 16 23:43 proton-calendar.svg
-rw-r--r-- 1 user user 1.2K Jun 16 23:43 proton-drive.svg
-rw-r--r-- 1 user user 9.6K Jun 16 23:43 proton-lumo.svg
-rw-r--r-- 1 user user 1.2K Jun 16 23:43 proton-mail.svg
-rw-r--r-- 1 user user 3.3K Jun 16 23:43 proton-pass.svg

Running the following commands did you yield any results not successful:

[user@host ~]$ desktop-file-validate ~/.local/share/applications/proton-calendar.desktop 
[user@host ~]$ gsettings set org.gnome.desktop.interface icon-theme 'hicolor'
[user@host ~]$ gtk-update-icon-cache -f -t ~/.local/share/icons/hicolor
gtk-update-icon-cache: Cache file created successfully.
[user@host ~]$ update-desktop-database ~/.local/share/applications/

Apparently, if you just set Icon=proton-calendar some applications automatically search in ~/.local/share/icons for a file with this name (and any file extension) or have it cached according to XDG standards. This did not work either.

Also copying the SVG file into ~/.local/share/applications and referencing it with a relative path in the .desktop file (Icon=proton-calendar.svg) did not work.

Hyprgraphics: built against 0.5.1, system has 0.5.1
Hyprutils: built against 0.13.1, system has 0.13.1
Hyprcursor: built against 0.1.13, system has 0.1.13
Hyprlang: built against 0.6.8, system has 0.6.8
Aquamarine: built against 0.11.0, system has 0.11.0
hyprland 0.55.2-1
hyprland-guiutils 0.2.1-5
hyprland-protocols 0.7.0-1
hyprland-qt-support 0.1.0-12
hyprlauncher 0.1.6-3
hyprtoolkit 0.5.4-1
xdg-desktop-portal-hyprland 1.3.12-2
linux 7.0.10.arch1-1

I would appreciate your help. Thanks ;)

@demiurg
I had a similar issue with Steam Game desktop icons.
For me the problem was that i am using a custom icon set, and i had the additional app icons in that set.
Because of this, hyprlauncher was looking for the icon in the default system set, as i had not configured anything for hyprtoolkit (the ui library that hyprlauncher uses.)
So try creating a file (or updating it if it exists) at ~/.config/hypr/hyprtoolkit.conf
and put in it the following line:

icon_theme=<your icon theme>

In my case, it is:

icon_theme = MetaMorphicons

But that icon set is my own custom set. A common case would be:

icon_theme = Papirus

Then as long as the application icon exists in
~/.local/share/icons/<your icon theme>/<size>/apps/<icon_name>.svg or
/usr/share/icons/<your icon theme>/<size>/apps/<icon_name>.svg then your desktop file just needs the icon name (without .svg)

Oh and if you are running hyprlauncher as a daemon, you will want to restart its process.

Also be aware it must be an svg icon. png icons are not supported in hyprlauncher.