Some functionality may not yet be implemented in the Wayland compositor. Please see the discussion here to see the current state of development.
If you want your config file to work with different backends but want some options set differently per backend, you can check the name of the current backend in your config as follows:
from libqtile import qtile
if qtile.core.name == "x11":
term = "urxvt"
elif qtile.core.name == "wayland":
term = "foot"
Keyboard management is done using xkbcommon via the Python bindings. xkbcommon's initial configuration can be set using environmental variables; see their docs for more information. The 5 XKB_DEFAULT_X
environmental variables have corresponding settings in X11's keyboard configuration, so if you have these defined already simply copy their values into these variables, otherwise see X11's helpful XKB guide to see the syntax for these settings. Simply set these variables before starting Qtile and the initial keyboard state will match these settings.
If you want to change keyboard configuration during runtime, you can use the core's set_keymap command (see wayland-cmds
below).
Qtile _does support XWayland. This requires that wlroots and pywlroots were built with XWayland support, and that XWayland is installed on the system from startup. XWayland will be started the first time it is needed.