From Gentoo Wiki
Jump to:navigation Jump to:search
This article is a stub. Please help out by expanding it - how to get started.

Qtile is an open-source tiling window manager that is written in, and extended with, the Python programming language.

It can be used as an X11 window manager or a Wayland compositor.

Please refer to this discussion to see the current state of development of the Wayland backend.


USE flags

Qtile currently has no package-specific USE flags.

Apply these USE flags before emerging Qtile:

root #echo x11-libs/cairo X glib opengl svg >> /etc/portage/package.use/qtile


Then emerge Qtile:

root #emerge --ask x11-wm/qtile

Qtile as a Wayland Compositor

Qtile requires dev-python/pywlroots, dev-python/pywayland, and dev-python/python-xkbcommon to be installed for Wayland support, however pywayland, and python-xkbcommon are dependencies of pywlroots hence emerging the latter is enough.

These packages are found in the overlay wayland-desktop, please refer to Wayland Desktop Landscape for more information about said overlay.

Emerge pywlroots :

root #emerge --ask dev-python/pywlroots

Support for X11 applications (XWayland)

Support for XWayland also requires gui-libs/wlroots and pywlroots to be built with XWayland support which at the time of writing pywlroots already do.

Emerge XWayland:

root #emerge --ask x11-base/xwayland



Start Qtile using a display manager or the startx command.

If want to use startx and want elogind support, setup ConsoleKit and create the following file:

FILE ~/.xinitrc
exec dbus-launch --sh-syntax --exit-with-session qtile start

Configuration file

Qtile can be customized by editing the config file in ~/.config/qtile/config.py. This file is generated when there is no present configuration file. If Qtile is running while configuring it, restart Qtile using its default keybind, Super+Ctrl+R to apply changes.

The default configuration file can be found at https://github.com/qtile/qtile/blob/master/libqtile/resources/default_config.py.

To check if the changes are written correctly:

user $python3 -m py_compile ~/.config/qtile/config.py