Installing on Funtoo

Portage

The ebuild in portage is broken for now, as of missing xpyb support for pycairo, but will be fixed in some future releases.

Manual (Github)

This section is taken from the documents from Qtile. [1].

Dependencies

USE flags and keyword changes may have to be made for the packages taken from portage.

libxcb

libxcb can be emerged from portage.

# emerge -avt libxcb

xpyb

xpyb can be emerged from portage. Make sure that you are emerging xpyb-1.3.1 or above.

# emerge -avt xpyb

cairo

cairo can be emerged from portage. Make sure you have your USE flags set to:

X glib opengl svg xcb

and then emerge cairo:

# emerge -avt cairo

pygtk

pygtk can be merged from portage.

# emerge pygtk

py2cairo

Needs to be build manually cause of reason above.

# git clone git://git.cairographics.org/git/py2cairo
# cd py2cairo
# ./configure --prefix=/path/to/virtualenv
# make
# sudo make install

As an alternative to virtualenv, you can

./configure --prefix=/usr

But the virtualenv is the recommended option in installation if you are an advanced user with python, else use the systemwide alternative.

qtile

# git clone git://github.com/qtile/qtile
# cd qtile
# sudo python setup.py install --record files_uninstall.txt

Setup

Copy either a config from the examples directory in the cloned qtile (including a default config), a config you have found elsewhere, or create your own config.

# install -d ~/.config/qtile
# cp /path/to/cloned-qtile/examples/config/cortesi-config.py ~/.config/qtile/config.py
# cp /path/to/cloned-qtile/examples/config/dgroups.py ~/.config/qtile/config.py
# cp /path/to/cloned-qtile/examples/config/roger-config.py ~/.config/qtile/config.py
# cp /path/to/cloned-qtile/examples/config/tailhook-config.py ~/.config/qtile/config.py

Another config is config.py, this is based on dmpayton’s config.py.

Testing Qtile Installation

If you have a running DE/WM already you can test your qtile config with the following steps:

Examples:

# Xephyr :1 -screen 800x600 -a -v -noreset
# Display=:1
# /path/to/qtile/qtile

or using the build in code: [2]

# echo "exec qtile" > .start_qtile ; xinit .start_qtile -- :1

For further information, see the Documentation section.

dmenu

Qtile uses dmenu as the application launcher

# emerge dmenu

xinitrc

An example of preparing Qtile to start with the startup-session script for autostarting apps in the ~/.xinitrc:

#!/bin/zsh
xrdb -merge ~/.Xresources
xcompmgr &
if [[ $1 == "i3" ]]; then
    exec ck-launch-session dbus-launch --sh-syntax --exit-with-session i3 -V -d all > ~/.i3/i3log-$(date +'%F-%k-%M-%S') 2>&1
elif [[ $1 == "razor" ]]; then
    exec ck-launch-session dbus-launch startrazor
elif [[ $1 == "awesome" ]]; then
    exec ck-launch-session dbus-launch awesome
elif [[ $1 == "qtile" ]]; then
    exec ck-launch-session dbus-launch ~/.qtile-session
else
    echo "Choose a window manager"
fi

and the connected ~/.qtile-session

conky -c ~/.conky/conkyrc_grey &
sh ~/.fehbg &
dropbox &

X and RandR

NOTE: RandR and Xinerama do not play together. Use one or the other. I use an AMD HD 6870 with 3 monitors (2 DVI and 1 with an AMD validated Mini DisplayPort™ to DVI dongle).

Install xrandr:

# emerge x11-apps/xrandr

and if you want a GUI with xrandr:

# emerge x11-misc/arandr

If you do not have X configured yet, follow the link on the Gentoo Wiki.

My xorg.conf.d folder for example: 30-screen.conf.

Since the names of the monitors are already known in xrandr, I just use those names in my 30-screen.conf configuration. It doesn’t matter what you use in your X configuration however.

Once you have X configured however you like, start qtile with either:

# startx

or, in a case similar to mine,

# xinit qtile

Starting with CDM

Another good tool for starting qtile is CDM (short for Console Display Manager). To make it work, just merge cdm

# emerge -avt cdm

and add it to autostart with

# cp /usr/share/cdm/zzz-cdm-profile.sh /etc/profile.d/zzz-cdm-profile.sh

Now add to /etc/X11/cdm/cdmrc the following lines:

binlist=(
    "/usr/bin/xinit ${HOME}/.start_qtile --:0"
    "/bin/bash --login"
    "/bin/zsh"
)
namelist=(qtile "Console bash" "Console zsh")
flaglist=(C C C)
consolekit=no

and check that ${HOME}/.start_qtile contains just the following

exec qtile
[1]Installation on Gentoo
[2]https://groups.google.com/group/qtile-dev/browse_thread/thread/26191253a8190568_qtile-dev_Google_Group

Qtile Documentation

Contents

Previous topic

Installing on Debian

Next topic

Installing on Gentoo

This Page