Switchers as arrangement managers

Matthew Woehlke mw_triad at users.sourceforge.net
Sat May 2 02:09:13 CEST 2009

Maciej Pilichowski wrote:
>   It seems for me, that we could simply say that exchange is switch, 
> in exchange mode. Or like this:
> if mod+X is any of the switcher keys, then 
> mod+EXCH+X is any of exchange keys, when EXCH is exchange modifier.

Sounds fine.

>   And for auxiliary switchers, the same EXCH+[aux.keyboard.shortcut] 
> runs auxiliary switcher in exchange mode.

Um... Okay, I think I see how this would work, in this mode you would 
pick a window, and the currently active window would be switched with 
the picked window (which need not have the same parent!).

But I don't think that level of integration should be a priority. As 
currently defined, we have "keys which will start a switcher", and "keys 
used in a switcher" (which are supposed to be the same, but may have 
semantic differences*). Tapping one of the former is effectively "quick 
switch without a switcher"; I'd envision rearrangement to be more like 
that than 'use the switcher'.

(*This makes me think maybe spatial u/d/l/r shouldn't start switchers, 
those being the ones I would see as behaving different, and also because 
I don't see the advantage to those invoking the switcher.)

Oh, and, an example:


If I start at A, and rearrange next twice, then without a switcher I 
would expect A->B, B->C, C->A (that is, B winds up where A was, C where 
B was, and A where C was). But with a switcher (assuming a switch left 
then down follows the same order), I might expect A and C to switch, and 
B to stay put. I think what I would argue here is that normal 
rearranging should always be "instant" (first result, i.e. everything 
gets shuffled around), and aux-switcher rearranging should always result 
in exactly two windows changing places, and everything else staying put.

Well... those are my initial thoughts. Having written them, I realize I 
am not fully convinced; what do you think? (Also, I wrote the above 
before reading your second post; do you mean that you would rearrange by 
using a switcher, always in 'exchange two windows' mode, by doing like 
you are going to switch, then using a 'swap this and currently-active 
window' button? It is more keystrokes but I think it has potential to be 
simpler, and as you say, is fewer shortcuts - and more importantly, 
fewer precious modifier keys - used. Anyway I don't want to throw out my 
other thoughts, so there they are.)

Thinking about switchers brings up another point; spatial next/previous 
*does* need to stay at least for switchers that don't have a concept of 
up/down/left/right :-). (Which is to say, the WM will need to have a 
concept of all windows of a given parent in two ordered one-dimensional 
lists; one for spatial, one for historic. Whether or not to expose key 
bindings to navigate this way could still be debated, but it's really 
only a question of if they are exposed; the WM will need to basically 
"support" them regardless.)

Please do not quote my e-mail address unobfuscated in message bodies.
"Will somebody get this walking carpet out of my way?!"
   -- Princess Leia Organa (Star Wars IV)

More information about the Kde-usability-devel mailing list