[openbox] FAQ No. 4: can we talk?
tore at linpro.no
Thu Mar 30 14:24:57 EST 2006
* s. keeling
> 4. When I lower, raise or move windows with a keybinding, focus
> doesn't follow the mouse!
> This is a feature, how large is the chance that the mouse
> accidentally enters a window you want to focus when you move or
> lower/raise something?
> What does that explanation have to do with anything?
Consider the following use case:
| +-------+ | * |
| | | +-----+
| | C.F. |
The pointer is at *, and C.F. means currently focused. So you lower
or shade/roll up C.F. using a keybinding, and:
> I assume that a window rolled up will give focus to whatever window
> was immediately under it.
...but it won't, if you use the pointer position as the key. It will
move to the rightmost window. Did you expect or want that? Even if
the pointer was hovering over C.F. to begin with, you can't be certain
to get the behaviour you want - if the pointer was hovering all the way
to the right edge of C.F., for instance.
> Surely you understand what "focus follows mouse" means.
Well. I understand it so that when the mouse moves, so does the
focus - "following" after the pointer. Conversely, if the pointer do
not move, I do not expect the focus to do so either. I feel the
current behaviour is correct. I do not expect a _keyboard_ action to
trigger any focusFollows_Mouse_ changes. Why should I need to care
about where the pointer is when I manipulate the windows using keyboard
I think your problem could be solved by adding a "move focus to
whatever window the pointer is hovering over"-action. Then you could
just chain that together with your lower-action, I'd opt not to, and
we'd both be happy. I'm sure Mikael would consider such a patch for
You might also want to take a look at the discussion in
> At the very least, *lose* focus forcing me to click on something,
I know there's an "unfocus" action. Jugding by its name I would
assume you can just invoke that after the "lower" action in your
<keybind> block to achieve exactly what you suggest.
More information about the openbox