conformal / spectrwm

A small dynamic tiling window manager for X11.
ISC License
1.34k stars 97 forks source link

swap_main doesn't work in a specific case #84

Closed levaidaniel closed 1 year ago

levaidaniel commented 10 years ago

Let's say you have two windows on WS1. Put you mouse cursor away from over any window (eg. over to the spectrwm bar), so it won't interfere with focus (btw, please fix #51). Change the active window focus to the master area (focus_{next,prev} with a hotkey), then start eg. a terminal with a hotkey. Now you have three windows on WS1, the latest (terminal) having the focus at the top of the stacking space. Cycle through (this is also important) the three windows with focus_{next,prev}, then arrive at the (latest) top window in the stacking area (eg. the terminal you just started). Now close that window (after this, the window in the master area gets the focus), and try to use swap_main; it won't work, only after you cycle through the remaining two active windows with focus_{next,prev}.

Daniel

levaidaniel commented 10 years ago

Maybe this has also something to do with my config:

focus_mode              = default
spawn_position          = next
focus_close             = previous
focus_close_wrap        = 1
LordReg commented 10 years ago

Once you close the first window in the stacking area and the focus reverts to the window in the master area, what window do you expect swap_main to swap with now that the 'previously focused window' is gone?

levaidaniel commented 10 years ago

The last one in the stacking area. There is always a last window in the stacking area (except when there is no more).

levaidaniel commented 10 years ago

Or just make the feature and the documentation consistent, and while the manual states that

swap_main Move current window to master area.

then never allow the swap_main function to work, when the active window is the one in the master area.

marcopeereboom commented 9 years ago

Any updates on this?

levaidaniel commented 9 years ago

Latest spectrwm still has this issue.