2009/1/20 andrew alindb...@gmail.com:
I've spent a lot of time with awesome in the past months, since it
had, at the time, a sensible tiling system and some of the features I
wanted that dwm lacked. Unfortunately, with the progression to the
latest major revision, lua integration has ruined its usability. And
so I came back to poke around at the dwm project and see if it had
progressed into something usable for me.
All I can say is: Yikes.
Specify commands as a list of argument strings?
This isn't any weird trick. Have a look at exec(3).
I don't even recognize the key array as C code ... {.v = dmenucmd} },
... (??)
It is C code. Not less recognizable than any config file parser.
Tagmasks? Why are we forcing the user to do this in binary?
I would argue about other global booleans moved to a bit mask, but
tags... c'mon! They are a bit mask! Having an array of booleans for
this seems wrong. If the user has any problem with bit operations in C
the wikipedia page about it is quite enlightening. I don't think any
user capable of compiling dwm will have any problem to add or remove
tags, IMO looking at config.def.h the operation is straightforward,
even if you don't understand what you are doing. I think if you search
for it you can find macros in this list to not having to touch bit
masks at all.
The website lists clarity as a feature. Clarity!
As for only having to learn C code to edit the config, I know C
reasonably well, but I get bad vibes from config.h, I think I'd rather
try to learn Lua.
I understand that a core tenet of the suckless development is
efficiency.. but it seems to me that at some point between 3.x and 5.3
this usurped usability in its entirety. The concept of the header
file is the config file has appeared to outlive it's sensibility.
Let's face it, a C header was never meant to be a scalable
configuration file for something as flexible as a tagging, tiling
window manager.
Anyway. I don't mean to start a huge fuss, just wanted to make an
observation as a previous user, and maybe encourage taking a step back
and looking at the sensibility of how the whole program hangs together
now, for the user. Because, to me, dwm was primarily about getting the
window manager out of my way, but looking at the most recent config.h,
I can tell it won't fit that bill for me anymore.
Really, I don't think making the usual changes to config.h (setting
your rules, tags, keys and buttons) would have taken you longer than
writing this email.
Regarding efficiency, I don't think that was the reason for any of
these changes. I would tell it was simplicity of the code (for
reference, have a look at the example in
http://www.scklss.org/common/index.html). I don't think config.h is
any more complicated now, if you tell any specific problem you found
I'm sure somebody in this list will be glad to help you.
Sadly going back to the tiling wm dole,
Good luck!
Andrew
--
- yiyus || JGL .