Bug 393403 - Application launcher global shortcuts get assigned to random neighbours
Summary: Application launcher global shortcuts get assigned to random neighbours
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_keys (show other bugs)
Version: 5.12.4
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Michael Jansen
URL:
Keywords: accessibility, usability
Depends on:
Blocks:
 
Reported: 2018-04-22 18:42 UTC by wazhai
Modified: 2020-04-30 17:15 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description wazhai 2018-04-22 18:42:59 UTC
Application launcher global shortcuts get assigned to random neighbours.

Steps to reproduce:
0. Assuming no launcher shortcuts (like a clean install of Tumbleweed) but also happens with multiple launcher shortcuts already present
1. Add Dolphin to the list, add Konsole
2. Assign e.g. ctrl+alt+e for launching Dolphin
3. Select apply
4. The same shortcut is assigned to Konsole somehow.

Always reproducible with and without a VM and with multiple distibutions. There is also the fact that, even after manually resolving the conflict, global shortcuts doesn't function at all for launching Dolphin. See Bug 388574
Comment 1 Nate Graham 2020-01-12 05:56:57 UTC
I cannot reproduce this issue on my Tumbleweed install today. Are you still able to reproduce this?
Comment 2 Patrick Silva 2020-01-12 09:42:04 UTC
I can reproduce adding Ark and Konsole (Dolphin is present by default).

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.17.80
KDE Frameworks Version: 5.67.0
Qt Version: 5.13.2
Comment 3 Bug Janitor Service 2020-01-27 04:33:17 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 4 Christoph Feck 2020-02-04 00:23:38 UTC
Requested information was added with comment 2; changing status for inspection.
Comment 5 David Redondo 2020-04-30 17:15:55 UTC
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 408942, 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