Re: [wmii] Some ideas of layouts

From: Anselm R. Garbe <>
Date: Tue, 10 Jan 2006 12:58:47 +0100

On Mon, Jan 09, 2006 at 04:13:22PM +0200, Jani H. Lahtinen wrote:
> Now that the 2.5 is out and stable and I have had some time to look at
> the code, I could try to contribute a bit, although I must confess that
> I have never done any coding involving X. I could start hanging around
> in irc from now on. Here are some ideas. Occasionally I do have good
> ideas in the middle of bad ones so please feel free to say which parts
> are crap :-)
> Instead of having two layouts for column and floating mode, could be
> only one. Each page would be divided by horisontal and vertical splits
> into frames. Each frame can be divided in a similar fashion. For
> example the following page:
> -------------
> |1 |2 |
> | -----
> | |3 |
> .------------
> |4 |5 |
> -------------
> Can have the division to frames and subframes:
> ((1 (2 3)) (4 5))
> or
> ((1 4) (2 3 5))
> in which an expression in parenthesis corresponds to a frame. Frames
> containing no sub-frames are not in parenthesis. Each frame can have
> tabs, including the main frame, for which tabs =
> pager.
> Also allow creation of empty frames. A new client will first occupy
> an empty frame before creating a new one.

Sounds pretty much like the static Ion-way of managing windows
with some ideas we already dropped in wmii-1. The new layout
interface of upcoming wmii-3 would allow to implement most of
your idea, except the page concept. In general I agree with the
philosophy of

The tabbing concept at all is questionable now, at least in
column layout, because we got pages, which provides a much saner
way for dynamically arranging frames and accessing them in a
simple way. Tabbing always needs an additional key-binding to
cycle through, because it is an additional layer. And this makes
the concept somewhat clunky. Anyway, the internal structure of
Frame allows empty frames as well as arbitrary clients attached
to a frame. Thus it is a below 500 LOC issue to implement your
layout and test it. Feel free to contribute, but not before
wmii-3 release (otherwise you would stick to the already
obsolete layout interface in wmii-2.x).

> The floating environment I would replace with the possibility of
> stacking frames on the same page. That is, a floating window is only a
> single occupied frame surrounded by empty ones in its own frame
> covering the whole screen.

Stacking floating clients won't work, because there are plenty
apps who don't conform to ICCCM and accept each size the WM
provides them, ie. xmms, various Java crappy Swing apps, several
GTK apps, etc. In general those mentioned in

> A client could be associated with multiple frames. I could have a
> system monitoring open on one window that is present in all other
> pages except on the page where I have a graphical design software
> running, which requires the whole screen.

That is theoretically possible, but won't work well, because
technically you have to reparent clients with the associated
frame, and a window can only have one associated parent window.
This would also result in resizing of such sticky clients if the
layout is different in another page (which is always the case
for dynamic WMs). As a side note, allowing a floating client to
be sticky is on TODO.


 Anselm R. Garbe  ><><  ><><  GPG key: 0D73F361
Received on Tue Jan 10 2006 - 12:58:48 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:59:42 UTC