My first Tiling Window Manager is Awesome.

Installing Awesome WM in Debian is also easy, the only difference is you have to $ git clone Lain module manually. But don’t worry, this additional module is optional.


Awesome Install Summary Screenshot

To customize Awesome configuration, You needs Lua Programming Knowledge.

Install Awesome WM

Installing Awesome is straightforward. Just issue apt command, or apt-get or aptitude. This will also install required packages [liblua5.1-0, libxcb-xtest0, lua-lgi, rlwrap]

$ sudo apt install 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 four megabytes. 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                 i3.desktop                plasma.desktop
gnome-classic.desktop           i3-with-shmlog.desktop    twm.desktop
gnome.desktop                   lightdm-xsession.desktop  xfce.desktop
gnome-flashback-xmonad.desktop  openbox.desktop           xmonad.desktop

Additional Packages

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

Install Vicious

Additional packages can be achieved by installing awesome-extra package from official repository.

$ sudo apt install awesome-extra

Install Awesome Additional Package

Install Lain Module

Lain is a fork of Vain Module.

In order to install Lain, you must clone the lain manually.

$ cd ~/.config/awesome/
$ git clone

Sample Configuration

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

$ dpkg -L awesome | grep 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.