Re: [wmii] Stacks

From: Uriel <>
Date: Fri, 3 Mar 2006 12:45:01 +0100

I still think you got it wrong, there are no multiple ws anymore,
except in the mind of the user and as keybindings (maybe) that set
the current set of visible tags.

A "ws" only 'comes to life' when one sets a new set of visible tags.
This is needed because you can have more than one tag visible, hence
per-tag-ws just make no sense, as they would not cover anywhere close
to all possibilities.

What you got right is that once you select a set of visible tags, that
combination is on the fly associated with the current layout, and _the
layout_ is cached until all the listed tags go away(so if you ever
select the same set of visible tags, the layout can be restored) You
could call those things 'transient ws' but from the user POV they
don't exists, it's just a way to remember a certain layout and there
should be now ay to list all existing ones, as they should be no
different from any other.

Adding a new tag name to the current set of visible tags not only
should be allowed, but it should be the only way to change 'ws', it's
the set of visible tags which defines the 'ws', but they are all

Maybe all this sounds messy, I think I'm doing a poor job explaining
it, but it's conceptually it is very simple (maybe even simpler than
the current model) and very _dynamic_ while at the same time providing
more structure than the currently arbitrarily numbered pages. The
implementation don't seem necessarily hard (the layout cache is mostly
for convenience for example, but not hard to implement either)


On 3/3/06, Anselm R. Garbe <> wrote:
> On Fri, Mar 03, 2006 at 11:55:56AM +0100, Uriel wrote:
> > And I found a fundamental flaw in this idea, would be nice... except
> > you actually need to keep track of pages for how all the clients are
> > positioned and organized in each page, in virtual pages there would
> > not be any way to maintain a layout, which is very dynamic and also
> > very stupid and useless.
> Yes, something like a virt-ws cache for each tag in use would be
> necessary (an entry is created if the first tag has been written
> for the first time and removed if no client exists with such a
> tag). In general there might be only a bunch of tags, but not
> many. This means, you always have layout information per tag.
> > Well, I guess we could keep track of what the layout under a certain
> > name(set of tags) did look like, can't be much data should grow very
> > little if at all, and it can easily be garbage-collected when no
> > client has any of the the tags for that 'virtualws'. This would make
> > things certainly much more dynamic, but it would make it impossible to
> > list
> > all available ws, only way would be to make them up on the fly (ie.,
> > associate key bindings to commands like I described before), and one
> > could easily list all tags currently in use, so maybe it's not such a
> > big deal(you could have a on-the-fly-pager which would do just that
> > and allow you to click on any of the available tags)
> With above idea to create an (unselected) virt-ws if a tag
> occures for the first time, you can simply re-use the current
> pager to see which clients relate to which tag.
> > Actually, you got it backwards, there are no 'tag-groups' except the
> > current set of visible tags. The references would be in the other
> > direction, from the clients, to their own private list of tag names,
> > when switching the list of currently visible tags, you would go
> > through all windows and show the ones that match.
> That is clear, but I meant the term 'tag-groups' in the same
> sense, though maybe an odd term.
> > And yes, I suspect this would simplify and generalize the sendto
> > system, to send the selected client to the email 'virtual-ws'(again,
> > this ws would not exist anywhere, would only exist once one sets the
> > 'current tags' to something that contains "email")
> > echo email > /wmii/client/current/tags
> > To add the client to an existing virtual-ws but without making it go away:
> > echo email >> /wmii/client/current/tags
> Yes.
> > (I'm talking about virtual-ws in a metaphorical way, as I said, there
> > is no such thing, except maybe as a cache of layout of windows once it
> > has been made the active set of tags once)
> If you give a client a tag, you can simply create a virt-ws for
> it, if not existing yet - each tag should be intended to be
> used.
> > Yes, you could allow even wildcards in the tag names, so a client with
> > a tag of '*' would match any selection and always show up (I think
> > here a special case should be made if that client is floating, it's
> > layout should be made 'universal' and not keep in per-virtual-ws and
> > instead associated directly with the client)
> Well, that would make the above idea impossible to create a
> virt-ws ad hoc on the first occurence of a tag. But maybe it
> might be more of use, than having that pager... The pager
> information is pretty limited in such a dynamic environment.
> Though dunno, how well '*' would scale *g*.
> Regards,
> --
> Anselm R. Garbe ><>< ><>< GPG key: 0D73F361
> _______________________________________________
> mailing list
Received on Fri Mar 03 2006 - 12:45:07 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 16:00:37 UTC