Re: [dwm] Taglayouts poll

From: Chris Webb <>
Date: Fri, 26 Oct 2007 17:09:06 +0100

Sander van Dijk <> writes:

> No, it shouldn't, for the simple reason that it doesn't fit within the
> tagging paradigm.

You're right, it doesn't really. I would characterise this patch (and
variants such as the one I use) as changing the underlying paradigm from
pure tagging to something closer to traditional workspaces. In addition
to the unordered set of selected tags, the patch leads to one tag being
distinguished as the 'main' selected tag. This main tag is then used to
index the layouts, regardless of the other selected tags.

One way to view this is that the 'main' tag, reset by view(), is the
current workspace, and that toggleview() allows you to temporarily mix in
the windows from other workspaces using the current workspace's layout.
In my personal dwm derivative, I even color the main selected tag and
additional mixed-in tags differently in the status bar to emphasise their
different status.

This is a more complicated model than pure tagging. Conceptually, the
tagging model is simpler and neater---more dwm-like in fact. I doubt this
fits well into upstream dwm. However, when I came to put together and use
a working environment based upon dwm, and particularly as I added a
couple more layouts and extended tile() to be more flexible, I discovered
that having a single layout into which I could choose sets of windows to
drop felt significantly less convenient to me than multiple layouts on
multiple workspaces. "view() tag A, set up layout suitable for task A;
view() tag B, set up layout suitable for task B; return to viewing tag A,
reset layout for task A..." is a pattern that was begging to be optimised
away. Clearly YMMV.

Incidentally, something else needed for consistency when implementing
taglayouts-type behaviour is to index all the layout parameters like
mwfact, nmaster (if you have it) and nstack/ncols/nrows (if you have any
of them). I don't think this patch currently does this?

> Hence, to do this taglayouts stuff "right"

One completely different approach to implementing multiple layouts in a
pure tagging context is to introduce a new layout index, completely
independent of the tag toggles. In the same way you can view() or
toggleview() a tag at present, you could select() by index a particular
set of layout parameters. You'd need to display the selected layout as
well as the selected tags in the status bar, or it would rapidly become
very confusing. This would be interesting to try and I confess I haven't
tried it. However, I suspect in my normal usage it would just replace one
keystroke with two.


Received on Fri Oct 26 2007 - 18:09:27 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:02:24 UTC