Qtile
Qtile is a full-featured, hackable tiling window manager written in Python. Qtile is simple, small, and extensible. It is easy to write your own layouts, widgets, and built-in commands. It is written and configured entirely in Python, which means you can leverage the full power and flexibility of the language to make it fit your needs.
The Ultimate Qtile Configuration With Modular Configs, Extra Functionality And Themes (26 Pre-Made + Infinite Auto Generated Themes With pywal
)
Get Qtile Premium From ko-fi
And Support Archcraft Development.
Installation
Once you finish installing Archcraft, Qtile can be installed on the top of it. It's pre-configured and ready to go.
- Regular
- Premium
Open a terminal and run the following command to install the regular version of Qtile :
$ sudo pacman -Sy archcraft-qtile
Download the premium package from ko-fi, and save it in a directory. Open a terminal in same directory and run the following command to install Qtile premium :
$ sudo pacman -U archcraft-qtile-premium-X.Y-Z-any.pkg.tar.zst
Qtile Premium is not pre-installed on Archcraft Prime ISO
Configuration
Qtile is pre-configured in Archcraft. In this section, We'll see how the Qtile window manager is configured, what tools and utilities are used to make it look and work like a complete desktop environment.
Config Structure
The configuration structure of Qtile in Archcraft looks something like this:
~/.config
└── qtile : Qtile config directory
├── alacritty : terminal config
├── scripts : scripts used for Qtile
├── themes : all themes (polybar, rofi configs)
├── config.py : main Qtile config file
├── dunstrc : dunst config for notifications
├── picom.conf : compositor config
└── xsettingsd : gtk themes, icons and fonts config file
Terminal
Alacritty is the default terminal. In the Qtile window manager, alacritty is launched with an alternative config file. If you need to change anything, make sure you modify the config files in ~/.config/qtile/alacritty
directory. These are the following config files you can modify to change the behaviour of your terminal:
~/.config/qtile/alacritty/alacritty.toml
: Main configuration file
~/.config/qtile/alacritty/colors.toml
: Colors configurations
~/.config/qtile/alacritty/fonts.toml
: Fonts configurations
If you need any help with alacritty config, run :
man 5 alacritty
in terminal.
When you change the theme
, the colors.toml and fonts.toml file get overwritten by the theme script.
This is applicable only in Qtile Premium as themes are only available in it. On regular version, there's only one theme.
Notification
Dunst is used as a notification daemon for notifications in Qtile. In the Qtile window manager, dunst is launched with an alternative config file, which is ~/.config/qtile/dunstrc
. So, If you need to modify anything, make sure you edit this file.
If you need any help with dunst config, run :
man 5 dunst
in terminal.
When you change the theme
, the fonts and colors in dunstrc file get overwritten by the theme script.
This is applicable only in Qtile Premium as themes are only available in it. On regular version, there's only one theme.
Wallpaper
hsetroot sets the wallpaper in the Qtile. If you want to change the wallpaper, Edit the following scripts :
- Regular
- Premium
Edit ~/.config/qtile/scripts/qtile_autostart
script and add the path to your wallpaper.
# Restore wallpaper
hsetroot -cover '/path/to/your/wallpaper'
Edit ~/.config/qtile/themes/wallpaper.sh
script and add the path to your wallpaper.
WALLPAPER='/path/to/your/wallpaper'
When you change the theme
, the script wallpaper.sh
get overwritten by the theme script.
Statusbar
Polybar is used as the statusbar in Archcraft's Qtile window manager.
- Regular
- Premium
The configurations for polybar can be found inside the theme directory directory of Qtile ~/.config/qtile/theme
If you want to modify the polybar settings, or perhaps want to add/remove modules, then you need to edit the following files :
~/.config/qtile/theme/polybar/config.ini
: Main config file
~/.config/qtile/theme/polybar/colors.ini
: Colors config file
~/.config/qtile/theme/polybar/modules.ini
: Modules config file
If you need any help with polybar config, visit : polybar wiki
The configurations for polybar can be found inside the currently applied theme's directory, which is inside the themes directory of Qtile ~/.config/qtile/themes
Let's say that the currently applied theme is default
and you want to modify the polybar settings, or perhaps want to add/remove modules, then you need to edit the following files :
~/.config/qtile/themes/default/polybar/config.ini
: Main config file
~/.config/qtile/themes/default/polybar/colors.ini
: Colors config file
~/.config/qtile/themes/default/polybar/modules.ini
: Modules config file
If you need any help with polybar config, visit : polybar wiki
When you change the theme
, the fonts in config.ini file and colors.ini file of polybar get overwritten by the theme script.
Launchers and Applets
Rofi is used for application launchers, command runner and various applets. To modify the rofi config, edit ~/.config/rofi/config.rasi
file.
If you need any help with rofi config, run :
man rofi
in terminal.
The scripts for rofi that are used in Qtile can be found it ~/.config/qtile/scripts
directory. These are the following scripts that uses rofi to provide the launchers and applets in Qtile :
rofi_askpass
: rofi based sudo
frontend to get root password
rofi_asroot
: applet to open apps as root
rofi_bluetooth
: bluetooth applet to quickly connect to BT devices
rofi_launcher
: an application launcher, cmd runner, file manager and task manager
rofi_music
: music applet, that controls MPD with mpc
rofi_powermenu
: power menu, with confirmation dialog
rofi_runner
: quickly lets you run a command
rofi_screenshot
: screenshot applet that works with maim
rofi_themes
: applet to change the themes only in premium
If you want to modify any applet or perhaps want to extend the functionality of the applet, just edit these scripts above.
- Regular
- Premium
The configuration of each script can be found inside the theme directory of Qtile ~/.config/qtile/theme
Let's say you want to modify the looks of launcher, then you need to edit the ~/.config/qtile/theme/rofi/launcher.rasi
file. Same goes for every other applet, Edit the respective file in the same directory.
If you need any help with rofi theming, run :
man rofi-theme
in terminal.
To change the colors and fonts of the launchers and applets, Edit the ~/.config/qtile/theme/rofi/shared/colors.rasi
and ~/.config/qtile/theme/rofi/shared/fonts.rasi
files.
The configuration of each script can be found inside the currenty applied theme's directory, which is inside the themes directory of Qtile ~/.config/qtile/themes
Let's say that the currently applied theme is default
and you want to modify the looks of launcher, then you need to edit the ~/.config/qtile/themes/default/rofi/launcher.rasi
file. Same goes for every other applet, Edit the respective file in the same directory.
If you need any help with rofi theming, run :
man rofi-theme
in terminal.
To change the colors and fonts of the launchers and applets, Edit the ~/.config/qtile/themes/<THEME>/rofi/shared/colors.rasi
and ~/.config/qtile/themes/<THEME>/rofi/shared/fonts.rasi
files.
When you change the theme
, the shared/colors.rasi and shared/fonts.rasi files get overwritten by the theme script.
Compositor
Picom is used for compositing. It's a lightweight compositor with shadowing, advanced blurring and fading. In Qtile, picom is launched with an alternative config file, which is ~/.config/qtile/picom.conf
.
If you need to change anything related to picom, Edit this picom config file.
If you need any help with picom config, check the picom's default config file in
/etc/xdg/picom.conf
If you're having screen-tearing issues, using glx
backend can solve this issue.
If you're facing lagging, hangs and freezes, try switching between xrender
and glx
backend.
When you change the theme
, things like backend, shadows, blurring in picom.conf file gets overwritten by theme script.
This is applicable only in Qtile Premium as themes are only available in it. On regular version, there's only one theme.
Window Manager
The configuration of Qtile is available in ~/.config/qtile
. To configure Qtile window manager, this is the main file that is used :
~/.config/qtile/config.py
: main qtile config file with general settings, keybindings, layouts and window rules.
If you need any help with qtile configuration, visit : Qtile docs
When you change the theme
, things like border colors, border width, _margins _and gaps in config.py file gets overwritten by the theme script.
This is applicable only in Qtile Premium as themes are only available in it. On regular version, there's only one theme.
Keybindings
Here's a list of some important keybinds you need to know for operating Qtile easily. If you want to view, modify or add new keybinds, Edit ~/.config/qtile/config.py
file.