Re: [wmii] snap: 20060307

From: David Tweed <>
Date: Wed, 8 Mar 2006 04:36:44 +0000 (GMT)

Firstly, let me apologies for having kicked off this
latest round of stuff and then gone quiet. Basically,
I've got very intermittent web-access to my mail at
the moment.

At the top here I'll describe the key thing I was
trying to acheive with tags, then I'll put some brief
comments to the main text later.

Suppose for simplicity that I've got three sets of
windows: those tagged with "source" which contain the
most currently changing parts of a program I'm working
on: for concreteness let's say there's "classifier.c",
"features.c", "temporalFeatures.c",
"featureReduction.c" and maybe one or two others.
There's tagged also a set of windows tagged with
"experiments" that contain terminal windows, gnuplot
output, image output, blah... Finally there's some
other windows that don't have a tag at all.

When I'm coding I want to work with the "source"
windows together (so as a sort of workspace). Then I
compile the program and want to see how it works, so I
want to work with the "experiment" windows together.
Since screen space is limited, it's better to have
something again "workspace like" that just has the
windows tagged with experiment.

I'm looking at the output of the plotting windows and
there's something strange in one of the windows. I
start to wonder if I've defined something wrong in
"classifier.c" (which you'll recall happens to be
tagged with the "source" tag). So what I want to do is
select this window (and let's pretend we've got some
magic, nice UI mechanism for doing this) and put it
amongst the windows I'm currently looking at. I don't
want to jump back to the "source" tagged-workspace
thing, rather I want this window put in amongst the
current ones so I can flick my eyes between this
particular source code window and the experiment
output windows to see if I can spot a pattern.

So far, there's nothing here that isn't doable with
the old page formulation, or workspaces in a general
window manager. Now here's the bit that's key for me:

I've figured out my problem and I now want to code
some more. So I want to go back to a "workspace" that
has all the windows from the "source" group. [With a
conventional wm workspace I'd have to move
"classifier.c" back to the source workspace myself.]
Or maybe I want to try some slightly different
experiments, so I want to get a workspace again that
contains just the windows tagged with "experiments".
[Again, conventionally, I'd have to move
"classifier.c" from my current active screen to get
back to just "experiments" windows.]

So, at an overview what I'd like is for tags to define
workspaces in such a way that I can "pollute" them
with new windows whilst doing some sub-task and, when
I've finished, request a workspace be constructed for
a given tag to get back to a "pristine state" (or
perhaps a better description is "state optimised for
activity 'tag'"). Personally, I think the bigger
problem is how to make the "selecting a window to put
on the current workspace" in terms of an easily usable
UI, and I don't really have any compelling ideas on

(Apologies if this isn't making it any clearer for
people.) I haven't had time to experiment with the
latest snap, but it sounds like you can dynamically
generate unions of sets of tags, which is an
interesting idea but might have too large a

--- Uriel <> wrote:

> >
> >
> > > > /tags shows all unique tags which have been
> applied to any
> > > > all clients.
> >
> >
> > I'm glad to see that there is a place this
> information can be accessed.
> > Although something similar to "pager" might be
> nice... only because I'm
> > having difficulty knowing which workspaces are
> currently in use and which
> > are empty (nice to know if you have that one
> application that wants the full
> > screen and doesn't play well with others...).
> Perhaps I'll script something
> > in the bar....
> You are thinking wrong about things, there are no
> workspaces anymore,
> except the current workspace, which happens to
> display all the windows
> that contain a certain tag(s) (I'm still not
> convinced it is worth
> allowing multiple current tags, from a theoretical
> POV it is not
> necessary, and adds lots of complexity)

As explained above, whilst I think multiple tags are
probably not a greatly enabling feature, it needs to
be possible to (temporarily) add arbitrary windows to
the current tag-defined workspace.

> Still, there should be a list of tags currently in
> use in the status
> bar, which allows
> you to click on any of them and make that the
> current tag, that would
> make visible (only!) windows with that tag. You can
> think of this as a
> form of "virtual" ws, but it not really a ws.
> > Two things annoy me about the new setup (which
> might be my unfamiliarity, or
> > as-yet-unimplemented features).
> >
> > 1) Next "workspace" and Previous "Workspace": It
> was nice being able to
> > scan through several pages of windows looking for
> updates (for example -
> > work email in one ws, home email/chat in a second,
> etc.). Is this going to
> > be possible? (Also, the left/right click on the
> bottom bar really helped
> > scroll through them).
> Yes, this is a troublesome spot for the tag-based
> window
> classification as I already pointed out when I
> proposed the system.
> IMHO cycling through workspaces was always a very
> inefficient way to
> do things, I was used to it, but it was clearly a
> bad way to do
> things. Tags still can be sorted alphabetically or
> something and one
> could cycle through them, but IMHO that should be
> discouraged and
> bindings to set the current tag to a specific value
> should be used
> instead.
> > 2) Delete a workspace as soon as it's empty: I
> very much understand the
> > reasoning and thoughts here. However, it's become
> a bit annoying with some
> > applications. For example when you open a
> document in Inkscape, it closes
> > the current window and opens the graphic in a new
> window. So I'll go
> > through the problem of opening Inkscape, moving it
> to a ws, opening an
> > image.... then getting shoved back to another ws
> where I'll have to go back
> > and retag it with the correct tag... Also,
> sometimes I'll have to run a
> > slow loading application from an XTerm (rather
> than the wmibar). I used to
> > background it and close the Term while it loads.
> Now I have to wait for it
> > to show before closing the Term.
> It is not surprising that many of this things will
> be problematic, but
> I think that one of the assumptions for tag-based
> window
> classification is that tags are pre-set based on the
> window name/id;
> but I don't even know if a sane setup is workable
> based on that, and I
> fear it would require extensive customization for
> the set of apps each
> user works with.

I never did away with the static workspaces but rather
put tags as an extra possibility, so I never really
thought about what would happen if everything was tag

> A possibility(why is it not that way?) is to allow
> setting the current
> tag to tags that are not currently in use, and
> retaining the current
> tag even if there are no windows with that tag
> anymore, I think this
> would fix most of the issues you mention and nothing
> would be lost,
> because really, unlike with cols, there is no sane
> behaviour in case
> all windows with the current tag are gone, jumping
> to
> who-knows-what-other-tag is a _BAD_ idea.
> All in all, I fear that garbeam, unsurprisingly, has
> succumbed once
> more to his extreme chronic CADT despite my warnings
> that the tagging
> system was just a crazy idea that might not work at
> all, and that
> stabilizing wmii-3 was much more important.

As someone who has only glanced over the code of wmii,
I'm not really able to comment on whether this stuff
is orthogonal to the other wmii work, or whether it
was going to re-organise so much stuff that it makes
sense to do now (if you're going to do it at all).

> Now a stable consistent wmii-3 is as far away as
> ever, and the idea of
> tag based window management probably will end up
> scraped without first
> going through proper research and design. *sigh*

However, I do feel a bit guilty about this: I think
some form of tagging is a good idea for a wm, but I
certainly haven't figured out all the wrinkles in my
mind/messing around, so I hope there's not some fatal
practical flaw I haven't seen that makes this unusable
in practice.

I'll try and keep up with discussion & mail some more
over next couple of days.

To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre.
Received on Wed Mar 08 2006 - 05:36:45 UTC

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