ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.22k stars 174 forks source link

Shortcuts in the desktop should be symbolic links #11282

Open Tiagoquix opened 1 week ago

Tiagoquix commented 1 week ago

Your system information

Please describe your issue in as much detail as possible:

When Steam creates a desktop shortcut after clicking to install a game, it creates a .desktop file in both ~/Desktop and ~/.local/share/applications.

This has a problem that it isn't treated as a proper shortcut (containing an arrow shortcut icon), which is the behavior on Windows. image (The arrows.)

To fix it, Steam would have to create a symbolic link to the same file in ~/.local/share/applications, therefore treating as a symlink and correcting the behavior in the desktop files, instead of duplicating the same .desktop file for both locations.

See also my report on KDE's side: https://bugs.kde.org/show_bug.cgi?id=493050

Managor commented 1 week ago

If the user decides to not want start menu shortcuts but does want desktop shortcuts, it would leave the user with a symbolic link on the desktop with no destination. I like the idea in theory, but that would require that the start menu shortcuts become constant. A possible solution might be to create a folder in the steam directory that contains the .desktop file of every game you've installed and make both ~/Desktop and ~/.local/share/applications only contain links.

Tiagoquix commented 1 week ago

I don't see any downside of having a file stored in ~/.local/share/applications, even if the user doesn't want it. It's common for basically all apps to have an associated .desktop with their installation (such as in /usr/share/applications).

However, I get what you mean, but I don't think it's necessary.

Alternatively to creating a Steam-specific folder containing all .desktop files, we could still create them in ~/.local/share/applications with NoDisplay=true (see https://specifications.freedesktop.org/desktop-entry-spec/latest/recognized-keys.html).