Re: [dwm] Thinking about tags

From: Anselm R. Garbe <>
Date: Wed, 15 Aug 2007 19:12:26 +0200

On Wed, Aug 15, 2007 at 11:56:12PM +1200, Karl. wrote:
> On Wed, Aug 15, 2007 at 07:51:43AM +0200, Anselm R. Garbe wrote:
> > besides ongoing bugfixes I plan to remeove regexp-capable Rules.
> > I don't see any reason why we need regexps to match for window
> > class/instance/titles, strstr() should be fine.
> If the new approach allows wildcards of some sort, then it might be
> workable. I use a lot of things like this (for apps that like to make
> lots of windows):
> { "Gschem:gschem:.*", "cad", True }, \
> { "Gschem:gschem:gschem", "cad", False }, \

Ok, forget that regexp matching will go ;)
(Same applies to all other replies so far).

> > I stumbled on this annoyance when Damjan recently posted his
> > config.h on this list, because he uses tags like "www", "trunk"
> > etc. So calling view("9") to view the "trunk" trunk tag seems
> > odd. I think it will be better to use the tag name here instead
> > for consistency reasons.
> I like the consistency as it stands - ie. I don't need to edit my
> keybindings if I change my tag names - access to my tags remains
> consistent. Not that I change my tags often, but I don't see an
> advantage to having to edit them in 4 extra places (having said that, I
> admit that I would need to edit them in all my rules anyway, so maybe
> having to edit them in the keybindings is no great hardship)

Ok, that is a good point to think about.

Actually the remaining thing I don't like so much in all design
decisions of dwm is the const char *arg handling at all. The
union I used before looked quite cumbersome. void * won't work
for numeric values, well and the coolest idea so far would lead
to the same problematic how wmii needed to define keys twice.

My idea was to include a switch-case structure in config.h which
handles all related things during a keypress (instead of using
the cumbersome void foo(const char*) pointers). Well but the
problem with this is, that keys would be needed to be defined
in two places, one for grabbing and another one for handling...

So all in all I think that foo(const char *arg) thing is the
best solution, even if it has nasty side-effects...


 Anselm R. Garbe >< >< GPG key: 0D73F361
Received on Wed Aug 15 2007 - 19:12:26 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 14:49:46 UTC