In GNOME bug 152661 someone is asking for the ability to move in a particular direction from a given window (as opposed to from a given workspace). So you could move to the closest window to the right of the focussed window, for example. Apparently FVWM has this feature. (I assume this would be an unbound keybinding by default.)
I really don’t see why this feature would be useful to anyone. Would anyone care to try to justify its inclusion before I close the bug?
Photo © lavalen, cc-by-sa.
Well, I know a situation:
Several SSH-Sessions in different terminal windows, let’s say six. If I switch via alt-tab, I have to watch the outlined borders after each switch. Would be nice to just switch to the terminal above the current one, the one left, bottom, …
I do this all the time, I use it in sawfish.
I rarely have overlapping windows, so I find it really convenient that I can implement “focus-follows-fingers-follows-eyes” by hitting Win-{up,down,left,right} to focus the next window in some direction. It leads to nice efficient refocusing behaviour without needing the mouse – good for when I tile 4 xterms on the screen, or something like that.
Keyboard lovers would find this feature useful, I suspect. Especially in a tiled window manager, which Metacity isn’t. Vim uses a similar keybinding scheme for switching between split panes (called ‘windows’ in Vim), and it works quite well there.
When I used size-by-side dual-head more often, I sometimes wanted a keybinding to switch between the topmost window on the left screen to the topmost window on the right screen, and back, just so that I could continue typing into the right window (shell versus editor) without having to use a mouse for switching.
Why not just use Alt-Tab? When you have more than two windows per workspace, you need to slow down and start counting the Tab keystrokes to get the window you want. The slowdown (and context switch to thinking about windows rather than thinking about the task at hand) was sufficiently significant that I sometimes preferred to use my mouse for switching.
Having said that, I don’t personally miss a feature like you described. It works well in vim because windows can’t overlap and it’s usually pretty clear where you’re switching to.
I guess part of the reason is that the main way of switching windows with the keyboard, alt-tab, has variable ordering based on recency of access, which makes switching between multiple windows rather difficult.
Switching to the next window in a certain direction, on the other hand, seems too complicated. How about something that allows switching to the left/right window in the window list, similar to mousewheeling over the applet? Has a dependable ordering that is constantly visible and can be adjusted manually (per drag&dop) to match to the workflow.
Yay, I used this feature with the fvwm-crystal configuration in the keyboard’s numpad, but since now I’m on a laptop it became more complicated to use.
The cool thing about it is, you move between windows based on the place you see them in the screen instead of a list based on who-remembers-the-order-they-where-open. Its much more intuitive.
Alt-Tab switching works on most-recently-used ordering, which is exactly the same as the Z-order of overlapping windows in click-to-focus mode (and acceptably close in focus-follows-mouse mode). If your windows are tiled, then it’s more natural to switch windows in X-order and Y-order rather than in Z-order.
As far as I can recall, Metacity doesn’t even have the option to automatically tile windows, so it’s not really surprising that it also doesn’t have the option to navigate tiled windows.
Since this could probably be done outside Metacity with libwnck, and since there’s an entire genre of automatically-tiling window-managers these days, I vote for WONTFIX.
I have not never tried it, but it sounds like something that might be great. I mean just like Opera skips between links on a page with the directional pad, and that is a very neat way to browse at least…
And people mention it in combination with a tiled WM… Now that I am actually the author of a tool[1] making Metacity a tiling WM (almost) then hey! ;-P
[1]: http://www.grillbar.org/wordpress/?p=306, and http://launchpad.net/winwrangler