Adding "All Shortcuts" to Global Keyboard Shortcuts System Settings
Closed, InvalidPublic

Description

BUG 250121 has been open since September, 2010. It's got 40 votes to have it fixed. It's marked as a junior job, so I thought I'd dig into it.

Before I get too deeply involved, I wanted to ask for opinions on what it should look and operate like. I moved this to a Task so we don't clutter up the bug tracker with discussion (and annoy users from 7-1/2 years ago).

My first thought was an alphabetical listing by function, with the application/component name in parenthesis. The down-arrows/triangles would open the edit option, like usual.

(I'm making these entries up off the top of my head as examples.)

Function / ApplicationPrimary ShortcutSecondary Shortcut
Full screen grab (Spectacle)Meta-Print (undefined)
Next Desktop (KWin)Meta-Right (undefined)
Next Track (Amarok)Meta-End Function-End
Previous Desktop (KWin)Meta-Left (undefined)
Previous Track (Amarok)Meta-Home Function-Home
Rectangular region (Spectacle)Shift-Meta-Print (undefined)
Zoom In On Desktop (KWin)Meta-= (undefined)
Zoom Out On Desktop (KWin)Meta-(minus) (undefined)

It seems like the users aren't interested in having them sorted by application or service, as they're not completely clear on what things like "KDE Daemon" mean.

Does anyone have a different opinon on how to lay this out? @ngraham?

Is there some hidden complexity to this that I'm not aware of? It seems straightforward, more or less, but it's sat open for such a long time that I'm concerned there might be a technical reason it hasn't been implemented yet. If it's just a question of "hasn't been a priority", then, perfect - I'll give it a go.

(I'm only adding people that I personally know have worked on usability and/or core Plasma stuff. Feel free to add others - or unsubscribe yourself if you're not interested, in which case I apologize.)

sharvey created this task.Apr 5 2018, 5:40 AM
sharvey triaged this task as Wishlist priority.
sharvey updated the task description. (Show Details)Apr 5 2018, 5:44 AM
sharvey updated the task description. (Show Details)
sharvey added subscribers: hein, rkflx.
rkflx added a comment.Apr 5 2018, 1:46 PM

Cannot find this currently, but elsewhere I suggested to change this dialog to be more similar to the regular Configure Shortcuts dialogs as found in Kate or Gwenview. In particular those show a tree view and go without the panel on the left, so the categories could be represented as a level in the tree. To make the design more manageable, it might make sense to collapse the tree by default, and keep the icons for the categories.

Are there any disadvantages of this approach I'm not aware of? (Besides not being a junior job anymore, perhaps, and I don't know how this relates to any QML rewrite…)

An All Shortcuts entry might sound great, but I fear only experienced users will find and understand the concept. As for moving the categories in parentheses, I don't think this will work well, because a tree view could be filtered while still providing some sort of grouping, which is key for long lists. Also, no need to re-invent the whole UI.

(My comments were about the main UI so far, did not look in into how a redesign of the buttons on the bottom would look like. In particular, we'd need to handle the + button, and think about scheme handling.)

@rkflx: Thanks for the feedback. I've looked further into this and agree that it's more complex than it originally appeared.

Perhaps we could make the existing experience a little more user-friendly simply by changing some of the _k_friendly_name entries in kglobalshortcutssrc.

As examples:

ksmserver Logout & Screen Lock
KDE Daemon KDE System Controls (or anything better than KDE Daemon)
Run Command Command Launcher (krunner)
KWin Window Management

The new names would be lengthier and take up more pixels, but they'd be a lot clearer to average users not versed in the KDE internals. Ideally, KWin's new name should be something like Window Management & Effects, since it covers both topics. I realize that's l o n g, but hopefully it illustrates my point.


I definitely do not want to reinvent the interface. That wasn't ever my plan. Perhaps my quick Remarkup table made that unclear. A QML rewrite would be nice, since it appears this system has been around for quite some time. (The most-recent entry in the changefile is from 2005.) But it's not broken and I'm in no hurry to fix things that aren't broken.

I'll do some more investigating without investing too much time. I'm sure many of you could come up with more suitable junior jobs for me. ;)

rkflx added a comment.Apr 5 2018, 4:27 PM

Perhaps we could make the existing experience a little more user-friendly simply by changing some of the _k_friendly_name entries in kglobalshortcutssrc.

Sure, why not. Those names could be reused even in a future tree view.

ksmserver Logout & Screen Lock

+1

KDE Daemon KDE System Controls (or anything better than KDE Daemon)

How about Desktop Services? This refers a bit more to the "Background Services" KCM, which is also about "kded".

Run Command Command Launcher (krunner)

I'd keep Run Command, because the same terminology is also used in the desktop's context menu.

KWin Window Management

+1

I definitely do not want to reinvent the interface. That wasn't ever my plan. Perhaps my quick Remarkup table made that unclear. A QML rewrite would be nice, since it appears this system has been around for quite some time. (The most-recent entry in the changefile is from 2005.) But it's not broken and I'm in no hurry to fix things that aren't broken.

See also T7267, which is part of a larger effort in Plasma: KCM Redesign. However, the mockup presented there has same same usability issues as the current design, so personally I'd prefer implementing the tree view idea eventually.

ngraham closed this task as Invalid.Nov 24 2019, 11:04 PM
ngraham added a subscriber: davidre.

I believe @davidre is working on this as a part of T7267. I don't think we need this task open given that there is already a phab task discussing the KCM rewrite and a bug report tracking this particular feature request.