Created attachment 121023 [details] Full size window, information cut off When attempting to set global shortcuts on a module with names that are particularly long, the biggest offender being KWin, it becomes difficult and frustrating to use as if you scroll horizontally to actually see the shortcuts, selecting another shortcut resets it. This is compounded by https://bugs.kde.org/show_bug.cgi?id=398710 which is apparently intentional. for some reason. STEPS TO REPRODUCE 1. Have a 1366x768 screen 2. try to set KWin global shortcuts 3. despair at being unable to see currently set shortcuts as they're off screen 4. attempt to scroll to see them, and set them as you please 5. repeat as despite knowing what you want to set, and scrolling where you want, it gets reset OBSERVED RESULT horizontal scroll resets EXPECTED RESULT horizontal scroll stays where i damn well put it ADDITIONAL INFORMATION it'd be better if https://bugs.kde.org/show_bug.cgi?id=398710 stopped being intentional for small screens like this, restoring enough of required space so that scrolling isnt required.
Created attachment 121024 [details] Smaller window, more space, actually usable.
Git commit 1ee6660ceb62d4584a5371d0cce107b7008e75df by David Redondo. Committed on 30/04/2020 at 16:51. Pushed by davidre into branch 'master'. Rewrite of the global shortcuts kcm Summary: This is a total rewrite of the global shortcuts kcm from scratch. It uses an abstract item model backend with a qml frontend. This resolves some issues the old kcm inherently had because it just stacked KShortcutEditors. First it enables a global serach/filter which either matches the component name, actions, default or set key combinations across components. Secondly KGlobalAccel can have multiple default/active key combinations for each action - the old kcm only exposed two each. The new kcm displays all default or set key combinations. The main visual structure is similiar to the old kcm. On the left there is a list with all components but rather than divided into "Application Launchers" and "Other Shortcuts" the sections are now called "Applications" and "System Services" (cf. notifications kcm) and the components are now assigned whether the service we find for a component is an application or not rather if the component was added via .desktop file. In the main view the shortcuts are displayed. Each item corresponds to one action. Initially each item is collapsed and shows the action name and a list of the currently set key combinations for that action. In the expanded form all default shortcuts are shown which can be activated or deactivated and all other active shortcuts ("Custom Shortcuts"). It is possible to change, remove or add new custom shortcuts. The kcm and model communicate directly with the daemon over DBus. This removes the need to awkwardly construct actions to pass to the KGlobalAccel API. Related: bug 157468, bug 213101, bug 230583, bug 250121, bug 251437, bug 272554, bug 318964, bug 341817, bug 348264, bug 366257, bug 369020, bug 388574, bug 393403, bug 416149, bug 416737, bug 417915, bug 419215, bug 419515, bug 419624, bug 419692, bug 419825, bug 419909, bug 420093 FIXED-IN: 5.19.0 Closes T7267 Test Plan: kcmshell5 kcm_keys {F8243559} {F8243560} {F8243561} {F8243562} {F8243563} {F8243564} Reviewers: #vdg, #plasma, ngraham Reviewed By: #vdg, ngraham Subscribers: GB_2, broulik, davidedmundson, nicolasfella, ngraham, iasensio, plasma-devel Tags: #plasma Maniphest Tasks: T7267 Differential Revision: https://phabricator.kde.org/D28744 M +43 -33 kcms/keys/CMakeLists.txt D +0 -29 kcms/keys/ChangeLog M +1 -6 kcms/keys/Messages.sh D +0 -7 kcms/keys/README D +0 -84 kcms/keys/export_scheme_dialog.cpp D +0 -59 kcms/keys/export_scheme_dialog.h D +0 -35 kcms/keys/export_scheme_dialog.ui A +82 -0 kcms/keys/filteredmodel.cpp [License: GPL (v2/3)] A +46 -0 kcms/keys/filteredmodel.h [License: GPL (v2/3)] D +0 -89 kcms/keys/globalshortcuts.cpp D +0 -44 kcms/keys/globalshortcuts.h A +198 -0 kcms/keys/kcm_keys.cpp [License: GPL (v2/3)] R +1 -1 kcms/keys/kcm_keys.desktop [from: kcms/keys/keys.desktop - 099% similarity] A +74 -0 kcms/keys/kcm_keys.h [License: GPL (v2/3)] D +0 -856 kcms/keys/kglobalshortcutseditor.cpp D +0 -153 kcms/keys/kglobalshortcutseditor.h D +0 -130 kcms/keys/kglobalshortcutseditor.ui A +216 -0 kcms/keys/package/contents/ui/ShortcutActionDelegate.qml [License: GPL (v2+)] A +302 -0 kcms/keys/package/contents/ui/main.qml [License: GPL (v2+)] A +17 -0 kcms/keys/package/metadata.desktop D +0 -77 kcms/keys/select_application.ui D +0 -102 kcms/keys/select_scheme_dialog.cpp D +0 -51 kcms/keys/select_scheme_dialog.h D +0 -150 kcms/keys/select_scheme_dialog.ui A +489 -0 kcms/keys/shortcutsmodel.cpp [License: GPL (v2+)] A +112 -0 kcms/keys/shortcutsmodel.h [License: GPL (v2/3)] https://commits.kde.org/plasma-desktop/1ee6660ceb62d4584a5371d0cce107b7008e75df