Awesome is the easiest Tiling Window Manager. I recommend Awesome WM for first time Tiling Window Manager. It is not intimidating, as it still has built in menu.


Awesome Install Summary Screenshot

However it needs a little knowledge of Lua Programming to configure Awesome. Learning Lua will will give some insight into what the configuration actually does. In fact I learnt Lua, by configuring Awesome.

Install Awesome WM

Installing Awesome is straightforward. It doesnt have many dependency, except Lua. Just issue Pacman command, and it will take care the rest.

$ sudo pacman -S awesome

Install Awesome and Lua Dependency

You can see how lightweight Awesome WM from figure above. The installation footprint of both Awesome and Lua are less than five megabytes. What a perfect combination between Window Manager and Scripting Language.

Running Awesome WM

To switch to Awesome WM after installation completed, you can logout your current DE/WM (Desktop Environment or Window Manager). In your DM (Display Manager), login with Awesome WM Session.

If you need to make sure, that Awesome is in you DM list. You can check xsession directory.

$ ls /usr/share/xsessions/
awesome.desktop        gnome.desktop  plasma.desktop
enlightenment.desktop  hidden         xfce.desktop
gnome-classic.desktop  i3.desktop     xmonad.desktop

Additional Packages

There are useful additional packages, to make your awesome become more awesome.

Install Vicious

Install Vicious in Arch is also very easy, as it is in official repository.

$ sudo pacman -S vicious

Install Awesome Additional Package

Install Lain Module

Lain is a fork of Vain Module. Both are only available in AUR (Arch User Repository). In order to install Lain, you must use AUR Helper, e.g. yaourt, aura, packer, pacaur, or else.

$ pacaur -y lain-git

Install Awesome Lain Module Using AUR

Sample Configuration

Awesome provide sample rc in their installation package. Just copy them to ~/.config/awesome/

$ pacman -Ql awesome | grep rc.lua
awesome /etc/xdg/awesome/rc.lua
$ mkdir ~/.config/awesome/
$ cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua

Now you can login to your Awesome Window Manager

Modularized Configuration

You can modify your rc.lua, and make your awesome WM more awesome

My configuration dotfiles is here. You can copy for your own needs.

Since this configuration is already modularized, it is easier to learn part by part.

I realized that it needs further refactoring, but now I don’t have much time to do it.

Source Code

Surprisingly, Awesome WM is still in an active development

Another website migrate to github, (but not jekyll)

Even the documentation:

It is a good start to learn Lua programming language.

What’s next ?

There are nice customizations beyond scope of this article. This site might worth to look at.

Thank you for reading

Good night.