Re: [dwm] Interesting idea by Gottox

From: Anselm R. Garbe <arg_AT_suckless.org>
Date: Thu, 30 Nov 2006 14:08:58 +0100

On Thu, Nov 30, 2006 at 12:42:25PM +0100, Anselm R. Garbe wrote:
> On Thu, Nov 30, 2006 at 12:36:09PM +0100, Sander van Dijk wrote:
> > On 11/30/06, Anselm R. Garbe <arg_AT_suckless.org> wrote:
> > >Gottox, after all I think, there is no need to change anything,
> > >except your shortcuts. I don't think that toggleview() needs the
> > >change that an empty view is necessary. I currently test
> > >toggleview() as it is in dwm-2.4 with swapped shortcuts, and it
> > >works quite fine.
> >
> > If that makes it into the main distribution, don't forget to swap the
> > tag/toggletag bindings too for consistency...
>
> No, I don't think that the default behavior will change.

Still I think it might be a good idea to think further about the
tag vs. toggletag and view vs. toggleview things. Actually,
this functionality is a cadidate for a review in my eyes.

I notice that I use both, toggletag and toggleview from time to
time, but due the fact that their shortcuts are rather clunky, I
mostly prefer the mouse bindings instead.

Due to the discussion of today I checked also if I could live
without view*() and tag() at all, but that feels rather odd.
Though there is motivation to find a good compromise which might
simplify the concept.

Let me draw a table how the situation is:

function | toggle | no toggle
---------------------------------
tag | X | X
view | X | X

At the moment all functions are present, hence we need 4xntags
shortcuts to access them. I have in mind to reduce the shortcuts
to simplify the overall concept. Following ideas come to my
mind:

a)
function | toggle | no toggle
---------------------------------
tag | - | X
view | - | X

This would be the classic workspace paradigm.

b)
function | toggle | no toggle
---------------------------------
tag | X | X
view | X | -

This is the Gottox' approach from the morning.

c)
function | toggle | no toggle
---------------------------------
tag | X | -
view | X | -

This would be tagging in an extreme approach (feels rather odd
as I described).

d)
function | toggle | no toggle
---------------------------------
tag | - | X
view | X | X

This is the opposite of the wmii approach, it allows only 1 tag
pro client, but viewing up to all tags at the same time.
Actually I consider this approach being checked further.

d)
function | toggle | no toggle
---------------------------------
tag | X | X
view | - | X

This is the wmii approach, I don't like it much.

So, in my eyes, I consider it more useful to increase the number
of tags being more meaningful on the one side, but only
associating a single tag per client, beside allowing viewing
multiple tags at the same time (this is the opposite wmii
approach). This would result in removing 'toggletag', but
advancing the way how we view tags and organize clients.
I favorize this approach, because of the observation, that it is
simpler and more efficient to join two tags than applying
different individual tags to a client. The only exception is,
that it won't be possible to have a sticky client (matching with
.* on all tags), which is visible in any set of viewed tags -
but I think that such ideas are contrary to the tagging
philosophy.

Originally, dwm inherited the wmii approach, by that time it
wasn't possible to view more than 1 tag at a time. But I use
toggleview() more frequently (esp. viewall()) than toggletag().

What do you think about this observation, do you agree?

Assumed toggletag could be removed, I'd consider the following
shortcuts:

MODKEY-<1..0> view()
MODKEY-Shift-<1..0> toggleview()
MODKEY-Control-<1..0> tag()

Because of the fact, that tag() might be used less frequently
with such an approach, I consider the MODKEY-<1..0> and
MODKEY-Shift-<1..0> shortcuts as more convenient than
MODKEY-Control-<1..0>

Regards,

-- 
 Anselm R. Garbe >< http://suckless.org/~arg/ >< GPG key: 0D73F361
Received on Thu Nov 30 2006 - 14:08:58 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 14:33:00 UTC