Bug 493050 - Show link emblem for all app launchers, not just the ones that are in fact symlinks to a file somewhere else
Summary: Show link emblem for all app launchers, not just the ones that are in fact sy...
Status: ASSIGNED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Desktop icons & Folder View widget (show other bugs)
Version: 6.1.4
Platform: Fedora RPMs Linux
: NOR minor
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2024-09-13 08:16 UTC by EpicTux123
Modified: 2024-09-20 21:22 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description EpicTux123 2024-09-13 08:16:45 UTC
Steam, the gaming application, has an option to create desktop shortcuts when installing games.
As far as I know, what it does is create a ".desktop" file in "~/.local/share/applications", and then also create the same ".desktop" file in "~/Desktop".

However, with this method, the "emblem-symbolic-link.svg" icon, which is used to indicate shortcuts, is not shown. To workaround this, I have to delete the ".desktop" file in "~/Desktop", then open the application launcher (start menu) and search for the app name, then right-click and "Add to Desktop". This way, it will show the arrow shortcut icon/emblem.

I even understand that, logically speaking, what Steam creates is not actually a symbolic link, but in Microsoft Windows there is the presence of the shortcut arrow when creating an icon in this way, since the shortcut only tells the program, Steam, to execute a command (steam://rungameid/), instead of being a direct executable.

VERSIONS
Operating System: Fedora Linux 40
KDE Plasma Version: 6.1.4
KDE Frameworks Version: 6.5.0
Qt Version: 6.7.2
Kernel Version: 6.10.8-200.fc40.x86_64 (64-bit)
Graphics Platform: X11
Comment 1 Nate Graham 2024-09-19 21:50:46 UTC
Not sure this is worth changing. Indeed, it doesn't get the "I'm a symbolic link" emblem because it's not a link. Other app launchers you can put on the desktop also lack it — unless they are in fact links! I think what you're saying is that experience with Windows has habituated you to the idea that program launchers on the desktop should always have a link emblem. I'm afraid Plasma not following the same heuristics is intentional. :)
Comment 2 EpicTux123 2024-09-19 23:18:50 UTC
Thanks for your comments, Nate!

However, I still think that, from an usability perspective, it would be better to show the symbolic link arrow/icon even if it's not actually a link. But I understand that it would be *technically* incorrect since *technically* it is not a link.

Do you think it would be reasonable for me to create a separate RfE to add a new Entry in .desktop files such as "X-KDE-TreatAsLink"?
This way, apps could hint in the .desktop file that they want to be treated as links (and, therefore, show the arrow).
Comment 3 Nate Graham 2024-09-20 16:46:21 UTC
I think that would actually be much worse: only some apps would opt into it, and the presence or absence of a link emblem would become completely incoherent and unpredictable.

At its core, this is a request to show the link emblem for all app launchers to help people understand that they're launchers, right? Or is it for some other reason?
Comment 4 EpicTux123 2024-09-20 16:51:53 UTC
Yes, this is a request to show the link emblem (shortcut arrow) for all app launchers to help people understand that they're launchers and not "direct" executables.
The arrow icon would be the simplest solution IMO, but I welcome other ideas.
Comment 5 Nate Graham 2024-09-20 17:27:56 UTC
Thanks. After a second ponder, I think you're onto something here. Already, app launchers might have the emblem or not depending on how they got there, which is already incoherent from the user's perspective (the user does not care about the implementation detail that the launcher is a symlink to some central one elsewhere or that it lives on the desktop). It may make some sense to always show the emblem for app launchers. Re-opening.

Regardless, I feel that what Steam is doing is wrong. If it already created a .desktop file in ~/.local/share/applications, the one it creates on the desktop *should* be a symlink to that one, not a duplicate that can get out of sync.
Comment 6 EpicTux123 2024-09-20 18:04:50 UTC
Thanks for re-opening!

I have created an issue on the steam-for-linux issue tracker too. See https://github.com/ValveSoftware/steam-for-linux/issues/11282.

On Windows, I believe they detect game and apps shortcuts as links with one of two ways:
1. They are ".url" files (handled by Internet Explorer), which open some kind of URL protocol (such as "steam://rungameid/123"). Therefore, they detect it due to the file extension.
2. They directly analyze the "Target" and see that it is some kind of URL protocol (such as "steam://rungameid/123"). Therefore, they detect it due to where the Target parameter points.

I think it's more likely that they detect using the file extension.

One way to do something similar on KDE would be to detect URL protocols (such as "steam://rungameid/123") in the "Exec" entry of .desktop files and then treat them automatically as links.
Comment 7 Nate Graham 2024-09-20 20:50:10 UTC
We can probably just add the emblem if the Exec key has any value at all. That's enough to communicate "this is a launcher". Alternatively, if it has Type=Application.
Comment 8 Bug Janitor Service 2024-09-20 21:22:23 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/1724