This probably isn't suitable for mainstream dwm since most people don't have
that much multitagging going on; with my "push/pop" approach I tend to use
more multitagging so keeping a consistent order is helpful.
Background: This deals with ensuring that multitagged clients will keep the
same order when viewed via different tags. It doesn't do anything to stabilise
the order when viewing more than one tag at once, but for me I only use that
to add in single windows like, eg, build windows or debuggers, so the more
general problem of full consistency doesn't occur in actual practice.
Key points: (1) the tags array on a client is Bool, so we have 4 bytes used, so
making an explicit int doesn't increase space reqs.
(2) Any tagging operation eventually calls arrange(), which does at least one
walk through full client list, so adding an additional scan here and there doesn't
change asymptotic complexity.
So if we use c->tags[i]==0 to mean "hasn't got this tag" and c->tags[i]==k>0
to mean "when viewing tag i, this client comes at position k" then we just need
to do a bit more bookkeeping than for Bools, but otherwise it's pretty minimal.
Anyway, just putting this out there to show it's possible, but whilst I'll keep using
this in my personal dwm I don't intend to keep sending to list.
cheers, dave tweed
___________________________________________________________
Try the all-new Yahoo! Mail. "The New Version is radically easier to use" – The Wall Street Journal
http://uk.docs.yahoo.com/nowyoucan.html
This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 14:32:55 UTC