Re: [wmii] summary of some #wmii talk on 2006-03-02

From: Anselm R. Garbe <garbeam_AT_wmii.de>
Date: Fri, 3 Mar 2006 09:17:17 +0100

On Fri, Mar 03, 2006 at 03:31:27AM +0100, Uriel wrote:
> What the hell are you people thinking? This removes the whole dynamic
> concept of cols, and makes it almost impossible to get a larswm-like behaviour.

The concept is still dynamic, even much more dynamic and
acme-like than the larswm concept.
You got 3 kinds of column arrangement, stacking, maximized and
equal (like larswm's tiled stack). If you need to concentrate on
a specific client, you maxmize it in the column, if you want to
check a different client, you can check with stacking for its
title or with equal for its contents on the fly. If you want a
client in another column, you just send it to the specific
column (prev, next, or numeric beginning at 1).
That is already all about it. It is _not_ like larswm, but it is
very similiar to the acme approach.

In the old concept, once a column got destroyed, and another one
created, I often had to fix the column widths, that was a very
frking task all the time. With allowing empty columns this is
gone now.

> On 3/2/06, Sander van Dijk <a.h.vandijk_AT_gmail.com> wrote:
> > - column capacity has to go, because it adds more to complexity than
> > to usability; if users want to limit the amount of clients in a
> > column, they'll have to do so manually.
> Who the hell came up with the idea of "capacity"?!?! the idea was
> _exclusive flag_
> which is simpler, clean and easy to understand.

Exclusive flag is not simplier, it is just the special case
capacity=1 for the general case.
And this capacity stuff has several implications I noticed and
which suck in my eyes:

1. You have two kinds of maximized clients in a column which you
cannot easily check. Is a client maximized in a column or is the
column itself exclusive?

2. Once you dynamically create/destroy a column, the width of
the other columns is destroyed, this is very nasty often.

3. If you have set all columns to exclusive, where do you create
a new column? Just right of the current one, or most-right?

4. If you kill the client of a exclusive column, do you destroy
the exclusive column or do you try to fetch the client from the
adjacent column? If adjacent, what do you do, if it is set
exclusively as well...

I think this are only some issues I yesterday encountered, there
might be even more. And you can easily guess that this gets very
messy in the code. Especially sucking was the 1st point, because
you got two different ways for the same, and that is bad design.

> Note: probably "exclusive" flag would actually mean 'push all new
> clients to the right' so it can be easily set on cols that have
> already more than one client, I certainly can't see why there should
> be anything difficult about its implementation.

See above.

> > - more "CN " events: for instance when removing the last client from a
> > page, when selecting an empty page, maybe others?
> I can see why anything of this might be needed at all, actually, if
> all pages are created 'on the fly' by using the tag-ws I described
> before or some other way, this becomes completely unnecessary.

That is true. But your idea is not approved yet to be implementd.
If the current concept is kept, the empty CN event is only for
updating the client title in the bar (though I'm convinced that
we don't need to display the client title in the bar anymore).

> > - automatic column creation/removal should go away. Instead, users
> > will have to create/remove them manually. New columns will be empty,
> > only empty columns will be allowed to be removed. This is consistent
> > with the way pages are created/removed.
> > - columns will get some kind of bar at the top to make sure they are
> > visible even when they are empty.
> This last two points are nonsense and completely unnecessary if one
> has exclusive flags for columns. To create a new col, just start a new
> client in a col with exclusive flag set. To get rid of a col just move
> all its' clients elsewhere.

I don't favorize the larswm concept anymore, I get too used to
acme already. And see the other points above.

> This makes the whole system much more dynamic as one can create and
> delete windows and one doesn't have to worry about keeping track of
> existing cols and of reclaiming the space of empty cols, and one
> doesn't waste space with the title for the col.

Same with the proposed changes. You just send windows to a
specific column or you just destroy/create new columns if you
need them. There's not much difference in pressing Alt-n to get
a new empty column which is selected already or to Alt-n and
taking the selected client to it, or if the current column is
set exclusive to create a new column on the fly. In normal usage
scenario you will end up very fast with two or three columns
without thinking what impact the kill or sendto of a specific
client has. It is like acme, so you can imagine.

Regards,

-- 
 Anselm R. Garbe  ><><  www.ebrag.de  ><><  GPG key: 0D73F361
Received on Fri Mar 03 2006 - 09:17:17 UTC

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