Rethinking global shortcuts

Martin Gräßlin mgraesslin at kde.org
Thu Feb 7 12:43:46 UTC 2013


Hi all,

I just wanted to add another global shortcut to KWin and found the situation 
so disappointing that I think we should do something about it in PW2.

So what happened: I wanted to add a new shortcut for showing application menu. 
Wrote the code, compiled, restarted KWin, pressed shortcut: nothing. Went to 
the keybinding dialog and saw that it belongs to Lancelot - I don't use 
Lancelot.

Second try: changed to a different shortcut, recompiled, restarted, pressed 
shortcut: nothing happened. Went to the keybinding dialog and saw that it 
belonged to juk - started it exactly once in all time.

I decided to go for the shortcut also used by juk (it's used for mute), but it 
means:
* old users don't get the shortcut in KWin if they have ever used juk
* new users will never get the shortcut in juk, because KWin starts faster

This situation *sucks*.

For PW2 I suggest the following changes to the shortcut system.
1. Define who gets modifiers. Given the way our shortcuts are nowadays, I'd 
say Alt belongs to Shell (Plasma+KWin) and Ctrl+Function keys belong to KWin
2. Allow new shortcuts to be registered if the application which had it 
registered before is not running
3. Inform users about conflicts
(4. Allow multiple applications to have the same shortcut and inform all of 
them if it is pressed, yes it sucks to not be able to use the forward media 
button for all media applications)

>From a technical point of view I just want to note that with Wayland input 
handling moves in the compositor anyway, so we need to work on it either way. 
I would prefer to get the global shortcut handling already right now into KWin 
as we have to fight quite badly with the system (common examples: recognizing 
Alt+Tab, mouse track effect, similar stuff which just doesn't work with the 
design of global shortcuts).

Comments? Additions?

--
Martin Gräßlin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20130207/37210d4f/attachment.sig>


More information about the Plasma-devel mailing list