Julien Danjou | 20 May 18:32 2008

News on awesome-3 and about latest commits

Hi guys,

Well, people following the developement tree may have noticed that I
did not commit a lot this last weeks.
Actually, I was quite busy working on a... well, *HUGE* patch, which I
just commited today.

And so, the awesome configuration file has now changed to a new format:
awesome now reads ~/.awesomerc.lua, and, I'm sure you guessed, which is
written in Lua[1].

Why ?

Well, let's go back a few weeks ago. There was a lot of requests going
on, and lot of people were asking for new features. The problem was most
of theses features were totally impossible to implement, because there
were conditionnal ("if this happens, please do this") or too specific
("please enable this stuff in the small corner around") requests.
Using a flat file format like confuse began to have drawbacks.

I did not want to switch to a configuration file format based on a
computer language, mainly because I know this can be tricky for users.
But well, I get stuck on one week trying to implement some features that
you requested, and I was not able to do it because of all this.
So I had either to stop developement (oh, no!) or find a solution (oh, yes!).

Then I decided to switch awesome configuration core from a flat file
format to a dynamic one, based on Lua. Other languages were studied,
like Guile, but well, you're safe, I chose Lua.

For people worried about the format, please take a look at the current
and default configuration file furnished in git. I think it's clear.
If you're not familiar with Lua language, what I was too 10 days ago,
please, take one hour and read the PIL[3]. Lua is simple, fast, and, you
may like it.
(Well, if you're not familiar with programmation and even object-oriented
programmation, well, please, either use GNOME or read Wikipedia to get
basic concepts.)

awesome now give you an API, and a small library using this API, called
"awful", which you might like/dislike/rewrite/contribute, as you wish.

Please do not report bugs on awesome-3 for now. I do know there's some
bugs, etc, and I'm working on them, so please wait a bit before flooding
me of "THAT DOES NOT WORK!". If it does not work please shut up for now,
or find the problem and send me a fix, I'll love you forever.

OTOH, ideas, improvements of the Lua API, etc, are welcome.

For people wanting to see what's so funny with Lua, here's small
demos I did a few days ago:

I wish you good luck playing with awesome-3.

[1] http://www.lua.org
[2] http://www.lua.org/pil/


Julien Danjou
// ᐰ <julien@...>   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD