GNOME Bugzilla – Bug 786546
Improve workspace keyboard navigation
Last modified: 2017-10-04 16:28:04 UTC
See patches.
Created attachment 358020 [details] [review] workspace: Fix tab navigation order By default the focus chain uses the same order as the list returned by clutter_actor_get_children(), which corresponds to the z-order. This doesn't work well in the window picker, where clones follow the stacking of windows to ensure a correct overview transition, but previews are laid out purely based on space efficiency. As a result, the order in which window previews are navigated when tabbing around is essentially random. Fix this by providing a focus chain implementation that is based on the visual layout of the previews rather than the stacking.
Created attachment 358021 [details] [review] workspace: Focus clone when highlighting We don't use different hover- and focus indications for window previews, so using keyboard navigation after hovering a clone often has surprising results when the previous focus window wasn't the selected one. Address this by simply moving the keyboard focus with the highlight.
Review of attachment 358020 [details] [review]: ok looks fine ::: js/ui/workspace.js @@ +1074,3 @@ + let cloneB = (b._delegate && b._delegate instanceof WindowClone) ? b._delegate: null; + if (cloneA && cloneB) + return cloneA.slotId - cloneB.slotId; can't happen with the way the code is right now but slotId should probably be initialized in WindowClone to be safe
Review of attachment 358021 [details] [review]: ok
Attachment 358020 [details] pushed as 8143f73 - workspace: Fix tab navigation order Attachment 358021 [details] pushed as 1939e22 - workspace: Focus clone when highlighting