Installing from Source

Qtile itself is very easy to install, you’ll just need python’s setuptools. Additionally, qtile uses a branch of cairocffi that has not yet been merged, so you need to install that from source. A step by step guide is below.

xcffib

Qtile uses xcffib as an XCB binding, which has its own instructions for building from source including building several Haskell packages, but is available from PyPi via:

sudo pip install xcffib

cairocffi

Qtile uses cairocffi with XCB support via xcffib. The latest version on PyPi has these features once xcffib is installed:

sudo pip install cairocffi

asyncio/trollius

Qtile uses the asyncio module as introduced in PEP 3156 for its event loop. Based on your Python version, there are different ways to install this:

  • Python >=3.4: The asyncio module comes as part of the standard library, so there is nothing more to install.

  • Python 3.3: This has all the infastructure needed to implement PEP 3156, but the asyncio module must be installed from the Tulip project. This is done by calling:

    sudo pip install asyncio
    

    Alternatively, you can install trollius (see next point).

  • Python 2 and <=3.2 (and 3.3 without asyncio): You will need to install trollius, which backports the asyncio module functionality to work without the infastructure introduced in PEP 3156. You can install this from PyPi:

    sudo pip install trollius
    

importlib

  • Python <=2.6 you will need to install importlib from PyPi:

    sudo pip install importlib
    

Qtile

With the dependencies in place, you can now install qtile:

git clone git://github.com/qtile/qtile.git
cd qtile
sudo python setup.py install