Hi all,

I once told jd that I have some ideas for the awful rewrite we've been
talking about... Just my opinions, I welcome any criticism and even
more some other ideas :) I don't know what are your intentions with
awful, jd, but if we more or less agree on what I'll write next, I can
do it, or a significant part of it (I wish I had more time...).

So my general feeling about it is that configuration file is causing by
far most trouble to the users. There's always a learning curve, of
course, and people need to spend some time learning it. But with a
cleaner and simpler (understand less verbose, short statements, etc. -
not less powerful) API it just makes it much easier to learn and
maintain. So in general I think more focus should be put on this. It
means mainly using operators instead of function calls, making the
common operations being possible with simple constructions, shorter
lines, less verbose. I'm not sure its understandable, I've got pretty
good idea for this.. When jd told me he wants to call
x:set_property(...) for every property of a class, I shivered :D

We agreed on a class inheritance system that will allow the user to
make his own classes inheriting from whatever he wants
(textbox/imagebox/graph/tag/...) with the base model being something
like this:
- wibox
  - imagebox
    - progressbar
    - graph
  - textbox
  - wiboxbox (dunno...whats your idea? I'd call the parent widget and
              this one wibox)
    - taglist
    - tasklist
- screen
- tag
- client

Did you think about having these as tables and not userdata? I had a
look at luaclass.c and I don't understand it too well, but it looks
like the code implementing class inheritance for userdata. If tables
were used, none of this would be needed (pushing SLOC under 10k? :D)?
Or am I missing something (again)?

One idea that may be worth a thought (but might also be impossible)
would be loading the default rc.lua before the custom as a way to
preset defaults. The custom rc.lua could be empty, or contain custom
keybindings only, replace just a few things or be a full config
replacing everything. I just didn't figure a clean way to do it...
There may not be any... Just something you might have thought about
before, or might wanna think a bit now :)

Thats it..I guess I just wanna stress the simplicity.. Also note I
don't wanna do anything crazy, although Lua seems to need some hackish
solutions to quite regular problems so I kinda got on terms with that..

cheers
lukash

-- 
To unsubscribe, send mail to [email protected].

Reply via email to