Bug 464146 - Imported shortcut scheme only restores existing shortcuts. Shortcuts for non-installed applications aren't imported.
Summary: Imported shortcut scheme only restores existing shortcuts. Shortcuts for non-...
Status: RESOLVED INTENTIONAL
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_keys (show other bugs)
Version: 5.26.5
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-01-11 12:21 UTC by qsabipb02
Modified: 2023-03-13 14:38 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 qsabipb02 2023-01-11 12:21:25 UTC
SUMMARY
On System Settings, when I reinstall my distro and import my shortcuts scheme backup, only the shortcuts for existing system components are restored (like the ones in the File, KWin and Session Management sections). Shortcuts for user-installed applications aren't imported. For instance, if Qalculate or System Monitor isn't installed, the shortcuts I made for them will be ignored. I have to click on "Add application" and then import the entire scheme file again.

STEPS TO REPRODUCE
Easy way to reproduce it without formatting your system:
1. Pick an existing shortcut or create one for an non-important application.
2. Click on "Export Scheme..." to save the shortcuts.
2. Uninstall/remove that application from your system.
3. Remove the shortcut for it by clicking on the red trash can icon and apply.
4. Reinstall the application.
5. Click on "Import Scheme..." and then "Custom Scheme" on the end of the combo box.
6. The shortcut for the removed app won't be imported, even if you add it to the list.
7. Add the application and repeat step 5. Only then it will correctly import the shortcut.

OBSERVED RESULT
Shortcuts for applications that don't exist on that list or on the system won't be added. The apps have to be manually added first for them to have their shortcuts back and this is tiresome.

EXPECTED RESULT
The "Import Scheme..." button should import all shortcuts such that the original list is restored with all the apps and shortcuts that were there, no overlooks, no exceptions. If an application isn't installed, maybe its icon on the list should be turned into that "paper" icon ("none"), maybe not, but it should stay there because the user may want to install the application later on. Maybe they just formatted the system! Should the user not want that app or that shortcut anymore, it should be removed manually then, but never ignored by the System Settings like it is now!

SOFTWARE/OS VERSIONS
Linux: 6.0.18-300
KDE Plasma Version: 5.26.5
KDE Frameworks Version: 5.101.0
Qt Version: 5.15.7
Comment 1 David Redondo 2023-01-12 08:04:51 UTC
This is  intentional, we can't import shortcuts for things we don't know and ar enot installed.
Comment 2 qsabipb02 2023-03-11 17:50:34 UTC
(In reply to David Redondo from comment #1)
> This is  intentional, we can't import shortcuts for things we don't know and
> ar enot installed.

Hi, I am sorry for the later reply.
What if the System Settings imported the application name only, saving it and a generic shortcut for it (as the app's internal functions are not known, the shortcut would be assumed to be a "launch application" shortcut.) When the importer function verified that the application is unknown or not installed (e.g., by looking for its .desktop file in ~/.local/share/applications or /usr/share/applications,) it would mark the shortcut as such and put a generic icon on it (like that blank paper icon.) Then, when the user tries to activate that shortcut, the shortcut server (khotkeys?) would just print an error message dialog in the likes of "There's no application to handle this shortcut: <name> is not installed." and the "OK" | "Install" buttons under it (the second one opens Discover.)

Now, isn't that possible? what do you think of my idea? maybe someone (like myself... Or you) could contribute some C++ code for this change.
Comment 3 Nate Graham 2023-03-13 14:38:52 UTC
Sounds sane. Feel free to submit a new bug report asking for that or a merge request to implement it!