Running Qtile as a Wayland Compositor¶
Some functionality may not yet be implemented in the Wayland compositor. Please see the discussion here to see the current state of development.
Backend-Specific Configuration¶
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 Configuration¶
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 Core Commands below).
Running X11-Only Programs¶
Qtile does not support XWayland directly and there are no plans to implement XWayland support. Instead, the recommended way to run any programs that do not support Wayland themselves is to run them inside the cage Wayland compositor, which will contain the program inside a window that does support XWayland. Otherwise, you could find alternatives that support Wayland directly.
Core Commands¶
Core¶
- class libqtile.backend.wayland.core.Core[source]¶
-
- cmd_commands() List[str] ¶
Returns a list of possible commands for this object
Used by __qsh__ for command completion and online help
- cmd_doc(name) str ¶
Returns the documentation for a specified command name
Used by __qsh__ to provide online help.
- cmd_eval(code: str) Tuple[bool, Optional[str]] ¶
Evaluates code in the same context as this function
Return value is tuple (success, result), success being a boolean and result being a string representing the return value of eval, or None if exec was used instead.
- cmd_function(function, *args, **kwargs) None ¶
Call a function with current object as argument
- cmd_items(name) Tuple[bool, Optional[List[Union[str, int]]]] ¶
Returns a list of contained items for the specified name
Used by __qsh__ to allow navigation of the object graph.
- cmd_set_keymap(layout: Optional[str] = None, options: Optional[str] = None, variant: Optional[str] = None) None [source]¶
Set the keymap for the current keyboard.
The options correspond to xkbcommon configuration environmental variables and if not specified are taken from the environment. Acceptable values are strings identical to those accepted by the env variables.