Acc

From awesome

Jump to: navigation, search

Contents

[edit] Awesome Configuration Converter

acc is a work in progress. (first; the name sucks and two; nothing is working at the moment).


[edit] Goals

Help migration from awesome 2 to awesome 3 by providing a compatibility layer.


[edit] How

The idea is to write a Lua library to interpret awesome 2.X config files. an acc config file should looks like this:

   require("acc")
   acc.translate("/path/to/my/awesome/2.X/config/file")

Then, user can begin to add lua code after the translation, while removing stuff from the 2.X config. At the end, the config will be in pure lua and user can remove the two compat lines. Sounds great isn't? :)


[edit] Just what I need! Where can I try it?

You can't, it doesn't work at the moment.


[edit] Well, so what can I do to Help?

You can help me to write it. You need good knowledge of awesome 2.X (and 3.X) configuration, and a bit of lua (should be ok since you know awesome 3.X config ;)). that's all! I've setup a mercurial repository here:

You can also help sending me your 2.X config file and test acc when we've got somethin kinda working. This would really boost the development.

[edit] Development

I was thinking in a four step development:

  • lexer
  • parser
  • analyzer
  • interpreter

The lexer/parser are used to parse the libconfuse config file in Lua. The analyzer ensure that the config file looks like an awesome config (for example, should reject "keys { screen 2 { ... } }") The interpreter setup a default config and then translate the AST into awesome's Lua calls.

  • The Lexer seems ok, and I'm currently working on the parser.
  • update at 1231124037 time_t : parser seems ok, will begin the analyzer soon
Personal tools