In a preceding post I complained about Awesome’s inconstant API and concluded that I would probably switch in the near future which I finally did last week. That’s right, I finally ditched AwesomeWM for i3, and so far not disappointed at all.
In overall the configuration is a lot easier with i3 than it is on Awesome. Sure you cannot play as much as you used to with lua, but the syntax of the configuration file is rich enough that you don’t need much scripting anyway. It’s very Unixy, simple in its core and delegates itself nicely to external tools (i3bar, i3status) and scripts. There is a very nice IPC mechanism (that goes through a Unix socket) that you can use from command line or librairies in C, Python, OCaml and many others.
Now there is no fancy widget as you do have in Awesome, everything is text + UTF8 with some coloring. Perhaps there is an i3bar alternative that can do more than this but I don’t know of any yet. Workspaces are also different, they are shared between outputs and not visible in i3bar until focused or contain a window, but in time you get used to it. Although there is nothing that I really miss from Awesome, also the simple API, simple configuration, nice documentation, clean IPC via Unix socket (which is really nice, you can communicate with i3 from virtually anywhere, even assembly), all of those were really worth the change.