In case it wasn’t very clear right away, I like Lua. I really do. It’s a very nice language, very straight-forward and efficient. That’s why seeing projects using it always makes me just a little bit happy. This project, however, made me more than a little bit happy. Enter awesome.
awesome is a window manager for X that is configured entirely through Lua. It’s really more of a framework than a window manager – though it offers all of the principal functionality of a window manager, you will be in charge of tuning it to your liking, and boy does it let you do just that. I’ve found it to offer a lot more customisation options compared to other window managers, and it has great native support for multiple screens (with optional separate wallpapers for each screen), tiling layouts (master-slave, fair etc.) and workspaces.
The workspaces, called ‘tags’ in awesome, are really just that – tags. Each screen can have a separate set of tags. You can name tags anything you want – from numbers to Greek letters to keywords describing their contents. You can assign windows to certain tags, even going as far as telling a program to spawn all its windows under a certain tag. You can also combine tags, displaying windows from all selected tags on the current screen. Each tag can have a certain layout assigned to it at boot time, and you can change the current layout at runtime. The tiling layouts are very flexible, even allowing you to have certain floating windows on top of the tiles. Basically, awesome’s implementation of workspaces is heaven for those who like to organise their work.
The default preset isn’t very bad at all, featuring nine numbered tags for each screen and about a dozen pre-built layouts, as well as clean shapes and muted colours from the design point of view, but where’s the fun in using presets? awesome has decent documentation available on the wiki, and there are enough custom configuration files floating around the net to get you started with fine-tuning the window manager to your liking.
All in all, I really like awesome – its name really does suit it. It’ll take something and a half to make me permanently switch WMs on my Arch deployment. Just remember to eat and drink while customising it, all right?