GNOME Bugzilla – Bug 777723
Keybindings: Laptop-friendliness & convenience
Last modified: 2019-03-20 11:39:36 UTC
I'd be happy if we could discuss my proposals, because I have comprehensible arguments for all my proposals. I know there is no optimal solution for everybody, but I really think keybindings will get more convenient this way. ;)
• Default keybindings should not contain keys like "PgUp", "Pos1" etc. since nowadays full keyboards aren't standard anymore and many laptops don't have either numpads nor this 6-key-block (if they have those keys through Fn keys, then those are cumbersome to reach and different placed from one keyboard to another, so this should be prevented for common used keys). Also consider small bluetooth keyboards for HTPC usage and the like (we have small keyboards in our laboratory because of better workbench usage, for example).
• "Ctrl + Alt + Up/Down" switch workspaces but these bindings aren't listed in keyboard settings at all?!
• Switching workspaces: "Ctrl + Alt + Left/Right" versus "Super + PgUp/PgDown"
– Totally inconvenient. Example: At home I have one large monitor behind my laptop (monitors vertically, workspaces horizontally) while it work I have three monitors horizontally and therefore workspaces vertically – why should I have to learn different combos for each setup?
– "Ctrl + Alt + Up/Down" works already and makes more sense, why isn't this listed as default?
– This also circumvents the need for having "PgUp/PgDown" extra keys, like mentioned in my first point.
• Moving windows to workspaces: "Shift + Ctrl + Alt + Left/Right" versus "Shift + Super + PgUp/PgDown":
– Solution: Using "Shift + (Ctrl + Alt + <Arrow>)", so it is "Shift" + "aforementioned keys".
Suggestion for a completely new and even more convenient approach
I think workspaces are more heavily used than monitors, because nowadays by far the most people use laptops without any further attached monitors. Therefore the shorter combo ("Super") should be tied to "workspaces" while the longer and harder to reach combo ("Ctrl + Alt") should be joint to "monitors". Don't underestimate this argument – this is why people use English keyboard layouts instead of German ones for programming, or even Dvorak or Neo!
• Using "Super + <Action-Key>" for workspace actions and "Ctrl + Alt + <Action-Key>" for monitor actions:
– New combos:
· Switching workspace: "Super + Alt + Arrow/Number"
· Moving to workspace: "Super + Shift + Arrow/Number"
· Moving to monitor: "Ctrl + Alt + Arrow/Number"
– Maximum number of simultaneous pressed keys is reduced from 4 to 3.
· What is really advantageous for not-n-key-rollover-keyboards!
– This results in a faster workflow, because all (window size and) workspace modifications are shortened by the usage of just "Super" [+ "<Action-Key>"] + "Direction/Position".
· This in turn also makes it easier encouraging the usage of this key – really no non-geeks use this key, you know that!
– "Ctrl + Alt" is harder to reach and thus it is harder to accidentally leaking confidential information e.g. on a projector in front of an audience.
– "Super" as workspace modificator makes it much easier for usage in combination with numbers – for putting an application directly to a specific workspace, instead of having to drag it across several workspaces. Leaking private data in front of an audience can also be prevented better this way.
• What's the difference between "Alt + Tab" and "Super + Tab" or "Alt + key-over-tab" and "Super + key-over-tab"? I didn't notice any. Can we please use "Super + Tab" and "Super + key-over-tab" by default for switching through all applications or application windows of just the current workspace? This is an often sought-after feature. Notice: "Super" here means "workspace", too. Convenience! ;)
I played with this settings the past time, and I think my proposal should be altered slightly by making "Super + Arrow" switching workspaces and "Super + Alt + Arrow" resizing windows to the upper/lower/left/right halfs of the workspace. This is because I (and I guess most users) seldom resize windows but by far more frequently switch workspaces.
About muscle memory mentioned in #778510: "Ctrl + Alt + Arrow" would just be changed from switching workspaces to dragging to monitors, so isn't altered that much. And as mentioned, dragging to a specific workspace by number is far easier with "Super + <Number>" than with "Ctrl + Alt + <Number>" – especially when doing this one-handed.
(In reply to Frank from comment #0)
> • What's the difference between "Alt + Tab" and "Super + Tab" or "Alt +
> key-over-tab" and "Super + key-over-tab"? I didn't notice any.
iirc none by default, but one of the first things I do after installing is to change Super+Tab to switch apps and Alt+Tab to switch windows. I think they both do the latter, by default. Also iirc, making this work involves some dconf hacks.
> Can we please
> use "Super + Tab" and "Super + key-over-tab" by default for switching
> through all applications or application windows of just the current
> workspace? This is an often sought-after feature. Notice: "Super" here means
> "workspace", too. Convenience! ;)
There's an overall setting for that, but I don't think it's currently possible to configure per key combo:
So a redesign would be needed so that whether multiple workspaces are used would be based on the specific shortcut being pressed instead (then a default key combo for it decided, if any)
This setting of askubuntu somehow is set active here, but it doesn’t work like that on all my machines. Both ways (<super> or <alt>) I always can switch between all apps/windows there are (on all workspaces). And I assume, that settings like this affect both "<super> + <tab>" and the "<alt> + <tab>" variant, what I don’t want.
My proposal here in general instead is, that I’d like to introduce the concept of “<super> as a workspace modificator”. Thus, key combos with <super> should primarily do workspace-related actions (and secondarily maybe some shell-related actions in the broader sense).
That’s why I’d like to restrict the app switching variant with <super> to just act upon the current workspace – in contrast to <alt> + <tab>/<key above tab>, which should still work for all workspaces.
So in total, I’d like this dconf setting to be removed – and therefore new setting entrys in the keyboard settings introduced. Currently, there is just
• "Switch applications" = "<super> + <tab>", and
• "Switch windows" = "disabled”,
although this last setting is bound to both "<alt>/<super> + <key above tab>" in reality, and not disabled by any means…?!?!
I propose to have the following four settings instead:
• "<alt> + <tab>" = "Switch applications"
• "<super> + <tab>" = "Switch applications of the current workspace"
• "<alt> + <key above tab>" = "Switch windows"
• "<super> + <key above tab>" = "Switch windows of the current workspace"
That would make perfect sense and remove these doubled accelerators, which have no use at all.
Additionally there is the setting for „switching windows directly“, which uses <esc> and the setting "<ctrl> + <tab>" which switches views inside most applications (Firefox for example). My proposal then lines up perfectly for both key groups (which sit next to each other):
• <tab> / <key above tab> / <esc> [as these imply "application" / "window" / "window, directly"], and
• <alt> / <super> / <ctrl> [as these imply "desktop-wide" / "workspace-wide" / "application-wide"].
This, too, makes a lot of sense and is easy to remember.
I think it was already clear what you meant, but now there's definitely no doubt!
Having separate accelerators to control which workspaces are included sounds good to me - I don't find it very useful that the current workspace filter is always on or off.
I guess your default choices of accelerators fit quite well with GNOME's current defaults, but I'd be immediately changing them. :P
(In reply to Frank from comment #3)
> • "Switch windows" = "disabled”,
> although this last setting is bound to both "<alt>/<super> + <key above
> tab>" in reality, and not disabled by any means…?!?!
iirc there used to be some confusion around this shortcut and it being really specified somewhere else; I can't remember the details or if that's changed in recent versions. So not very useful, I know, but there was definitely something!
Yes, I just want to optimize the current defaults as they are partly sane already. If you propose another concept, please share it!
My main target is to map all possible modifiers (all permutations of <ctrl>/<alt>/<super>/<shift>) to specific parts of the system. Because it’s irritating and non-sense that especially gnome-shell uses each of them here and there, with often no logic behind (just look inside the keyboard shortcuts overview O_o). As a first part, I want to tie <super> to the desktop environment (and workspaces especially).
Furthermore I want to achieve more laptop friendliness. Therefore I’d like to get rid of the num-pad keys and the like. And maybe even the F-keys, at least on gnome-shell (because you often have to press Fn additionally – and when you change systems often like work-home-work-home, you never know if you need to press Fn or not… at least if you’re not really used to it).
Here is my (current) proposed modifier classification:
• <ctrl> [+ <shift>]
• <alt> [+ <shift>]
• Fn keys without further modifiers, if _really_ necessary.
• <super> [+ <shift>]
• <super> + <ctrl> [+ <shift>]
• <super> + <alt> [+ <shift>]
• <super> + <ctrl> + <alt> [+ <shift>]
Kernel / underlying system / VM hypervisor / etc.:
• <ctrl> + <alt>
I also thought about achieving this via freedesktop.org. Sad, that I can’t edit my first post here…
Errata: Moving a window to another monitor: "Ctrl + Super + Arrow/Number", for fitting into this concept.
> iirc there used to be some confusion around this shortcut and it being really
> specified somewhere else; I can't remember the details or if that's changed in
> recent versions. So not very useful, I know, but there was definitely something!
Another problem is this hardcoded <ctrl> + <alt> + <arrow> which isn’t even editable via keyboard settings! These gnome designers have really good concepts – but sadly just GUI wise, and not UI-wise! I don’t understand this.
-- GitLab Migration Automatic Message --
This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gnome-settings-daemon/issues/316.