Re: [wmii] Column Layouts

From: Stefan Tibus <>
Date: Fri, 28 Apr 2006 10:28:03 +0200

On Fri, Apr 28, 2006 at 12:15:16AM -0400, John Nowak wrote:
> On Apr 27, 2006, at 8:33 PM, David Arroyo wrote:
> >I have heard a few people on #wmii ask if
> >they could have more than one window viewable in a stacked column.
> If I need to see more than one window at once from a stack, I just move the one I want to see over to another column (or drag it with the mouse). I do think
> it is possible to do something like right- clicking titlebars to expand them without collapsing other windows in a stack (how this would work with the
> keyboard I'm not sure), but given the ability to have a second column and to quickly toggle into "default" mode to see multiple windows, I'm not sure this
> is too critical. (If you really want to see both quickly, you can always just float the second as well.)

To me this just appears as some kind of workaround for some missing
functionality. I believe the goal should be to make a window manager
work for users and as users expect and not to make the users work
in a way to satisfy the wm.
When we're talking about flexibility, wmii-3 is still missing a lot.
And that is an issue where one will run into problems with keeping
up a certain fixed limit of lines of code...(while I believe trying
to keep it minimal is good).

David's idea is just a step further of what we have now. If the
space get's too small for other clients stack them, if the space
is too small for that hide them (max mode). However this may be
hard to implement, especially if you think of something like two
or three visible clients and some others stacked or hidden...
One could come up with per-client flags like: resize-me,
max-or-hide/stack-me, 50%-or-stack-me, .... but this is very

However, for the future one could think of extending the
column-layout maybe to a matrix-layout. Why should I be forced to
arrange my windows in columns? And that's probably the point some
people have problems with. In order to have two visible clients
in a column and the others stacked or hidden, one needs to split
the column. On the other hand, I may as well like to arrange my
windows in rows... This may not be suitable for most terminal-based
applications, where less lines is easier to handle than smaller
width. But other applications may do fine.
But generalizing the current approach is not easy, there are some
possible ways coming to my mind, but each is somewhat clunky:
1) The screen splits up like a matrix with variable row and column
   sizes and within one cell you may have column/row/max layout.
   If you don't introduce shortcuts to select those cells, moving
   across cells involves moving through all clients within that
2) Do some nesting of columns and rows. Current wmii can be thought
   of a single row in column mode. New clients are added to the
   current column and can be moved to new columns (left/right).
   Now one could think of having a column in row mode. New clients
   would be added to the same row and could be moved to new rows
   However, again the selection of specific clients (moving around
   among the clients) is not straightforward.

Any implementation of something more variable than just columns or
just rows will need some additional structuring and thus some
additional keybindings to move around, which is not wanted.
Though I'd like to be able to have something like e.g. a row of
clients above my columns, up to now I have to admit myself I can't
see a good way to this (some certain layouts may be implementable,
but not the full flexibility...).

So having the screen as a single row (column) and only allowing for
columns (rows) containing the managed clients within that appears
best for now. And to come back to the beginning: I believe it's
ok to simply admit a certain functionality is not available and
may as well not be provideable in future. However, I don't think
it's fair to just say "you don't need it, because you can do it
in another way" - people have different ways of thinking and
different ways of working...

Received on Fri Apr 28 2006 - 10:28:35 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 16:03:54 UTC