Qtile: Pythonic Workflow

Window Managers

Qtile screen shot

This article is a continuation of my recent software series where we’ve covered RSS Readers, Calendars, and Podcast Applications. All of my previous Linux Software centric articles have been concerned with alternatives to proprietary workflows. This article concerns something foreign to people who use proprietary operating systems. Today we’re going to look at my favorite tiling window manager, Qtile.

Qtile is a tiling window manager completely written and configured in Python. Window managers are programs that arrange workspace and application windows. Qtile is a full featured window manager. It boasts many options and easy extensibility. It is a fantastic choice for people concerned with performance and customization. Qtile has extensive documentation for configuring you perfect workflow. There are limitless possibilities. The modules that come with Qtile are compendious. The project is a vast labor of love, but it receives little attention.

A Programing Project

Qtile is a great project to explore for beginner programmers. A wise man once said that one of the biggest problems beginner programmers have is that its hard to find open source programs with a large code base. Its difficult to write a big program when you’ve never seen how one works. You configure Qtile in a way that encourages you to explore the code. In the end experiencing the program this way gives you a better idea how modules work. It shows you how other people think about programing when you try to take apart how they are making things work.

Easy

Qtile requires very little savvy to configure. The default configuration file is quiet self explanatory and only takes a few moments examination to understand. Even if you aren’t a beginner programmer but still like to tinker Qtile might still be the choice for you. Pythonic code is very readable. Checkout this tutorial to get a quick introduction to the language. The method Qtile uses for workspace management becomes like second nature very quickly as well. Depending on how its configured Qtile can be far more efficient than a traditional desktop environment with floating windows.

Alternatives

i3 window manager screenshot

I came to Qtile after some careful consideration while using i3. i3 is a good place to start if you want to learn how to configure a tiling window manager if you have never used one before. There is a huge community of people that use it so there is far more support documentation and troubleshooting when you search it out online. However i3 seems more bare than Qtile by far. It also takes more doing to get additional layouts. The status line blocks for the bar are a separate dependency as well. Qtile is complete out of the box. It has built in widgets for its bar. The entire configuration can run from a single file.

Xmonad and SpecterWM are some of Qtile’s counterparts in the tiling window manager space. You configure these window managers in the programming language that they are written in. However fewer people have a background in C and Haskell than do in Python. I do think that tinkering with these would similarly be a good learning experience for someone looking to explore the conventions of those languages.