Awesome window manager

Last year there was a time when I was pretty much free to do whatever what I wanted to do. And in that time I did a lot of things for which I am happy that I did. One of the things I did at that time was testing different working environments. Before that I was using XFCE desktop environment. I still like it and have it installed on my pc. It is very light compared to GNOME and KDE. And it doesn't get in my way. So its good. But I had free time and nothing else to do. So I decided to test out different window managers.

The first I tested was OpenBox. And I really liked it. I understood why so many people advocate for using just a window manager and not a desktop environment. It's so snappy and light. So I configure it the way I wanted it. And then I went on a hunt for applications that had no dependencies or very few dependencies on major desktop environments. And I found applications that I liked. And I kept on configuring it the way I liked and set it up just the way I wanted it. I wasn't missing a single feature of my previous desktop environment XFCE. And I used it for like a week and was amazed at what that little program(OpenBox) can do with a little scripting and meddling in the configuration files. And then I was thinking what about other window managers? There are practically hundreds of them. I was like a kid at a fun fair. I was wondering what cool thing should I make it do next? And then I thought wait! There are hundreds of them so there must be at least one that is better suited for me. So I decided to venture in uncharted waters….

The next window manager I tried was FluxBox. It's good and has some pretty cool features like window tabbing. But I was bored from it pretty soon. Because it didn't offer anything new that was so cool that I would like to play with it for some time. So then I moved on. When I was messing with OpenBox and FluxBox I read a lot of great things about tilling window managers. I read about how tilling window managers depended on the keyboard for managing windows and how it helps to control windows form keyboard. So I was wondering hmm… a tilling window manager. Let's try it. So the first one I tried was Xmonad. And I was getting hang of it. I really started to like it. Because of Xmonad I had my first experience with Haskell. As you might know Haskell is a programming language with a rather intriguing syntax. Ten statements of c code can be written in 2 statements of Haskell. It's syntax is not very traditional and easy to understand but it's something that I wish to master someday. So using Haskell, I configured Xmonad and I liked it. And I would have stayed with it if it weren't for conky. Whatever I do, I wasn't able to properly set up conky in it. The problem was that if I wanted conky to be displayed without flickering I have to set it up in it's own window. And Xmonad would resize conky window to fill whole screen or if any other applications are running it will show the application side by side, and make it a huge mess. So I looked into alternatives of conky like Xmobar. And did set it up but ultimately I was still missing conky and so I finally gave up on Xmonad.

After that I tried a few other tilling window managers like dwm, ratpoison and poor man's tilling window manager. I liked the simplicity and speed of dwm. As a matter of fact I decided to keep it as a secondary environment along with XFCE and OpenBox. But I had the same problem with dwm. dwm also wasn't able to display conky properly. So moving on, Ratpoison is something else. I gave up on it after half an hour. And poor man's tilling window manager is just as the name suggests, poor man's tilling window manager. It isn't a real window manager. What it does is it tiles the windows in any floating window manager like OpenBox. There was one candidate remaining which I hadn't tested yet. Awesome. I hadn't touched it because of changing configuration files. It wouldn't be nice if I had to set up the window manager again every time there was an update. So I was away from it up until now but after all this I decided to give it a try.

So I tried to install it from Arch's AUR. But there was some problem in compiling the dependencies. Particularly cairo with xcb backend. I somehow sorted it out and compiled Awesome successfully. I installed it and then the first thing I tested was Conky. And it worked! I was so happy. So after that I delved into the configuration files and set it up the way I liked. The default configuration of Awesome is pretty usable so I didn't had to change much and it was pretty easy.So slowly I added things that I liked. And it all worked out in the end. So currently I am using this awesome tilling window manager known as Awesome. And in fact it is Awesome.