[xmonad] unified tile+tab layout?

Klaus Weidner kweidner at pobox.com
Fri Aug 15 18:23:07 EDT 2008


I find myself switching between tiled and tabbed layouts frequently,
and the Combo layout to combine two tabbed layouts is nice but a bit
inflexible since it needs to be preconfigured in the config file. I've
been thinking about a way to combine tabs and tiles more flexibly -
would something like the following be feasible? I haven't looked into
coding it myself so far, and I worry that my haskell-fu may be
insufficient.

Assume you start out with a tiled layout like the standard "Tall" one
with a few windows,  something like this:

   00000 1111
   00000 1111
   00000 2222
   00000 2222
   00000 3333
   00000 3333

If window 1 is active and you press Mod-Shift-J, the current behavior
(swapDown) is to move window 1 down after window 2. The behavior I'd
like is that moving window 1 down would combine windows 1 and 2 into a
tabbed windowset, with window 1 being active:

   00000 -1-2-
   00000 1111
   00000 1111
   00000 3333
   00000 3333
   00000 3333

Then, if you press Mod-Shift-J again, the active window 1 gets removed
from the tabbed set and moved below window 2:

   00000 2222
   00000 2222
   00000 1111
   00000 1111
   00000 3333
   00000 3333

This way, you should be able to create pretty much any tabbed+tiled
combination by just using Mod-Shift-J/K to collapse selected windows
into tabs, including recreating the combineTwo layout from the Combo
documentation, without needing to configure layouts in the config file
or switching between them explicitly, and without needing to remember
many different keystroke combinations.

Does this sound like such a layout mechanism would be reasonably easy
to implement? Or is there already a way to get this behavior with
existing modules?

-Klaus


More information about the xmonad mailing list