Mouse
The mouse
config file variable defines a set of global mouse actions, and
is a list of Click
and Drag
objects, which define what to do when a window is clicked or dragged.
Default Mouse Bindings
By default, holding your mod
key and left-clicking (and holding) a window will
allow you to drag it around as a floating window. Holding your mod
key and right-clicking
(and holding) a window will resize the window (and also make it float if it is not already floating).
Example
from libqtile.config import Click, Drag
mouse = [
Drag([mod], "Button1", lazy.window.set_position_floating(),
start=lazy.window.get_position()),
Drag([mod], "Button3", lazy.window.set_size_floating(),
start=lazy.window.get_size()),
Click([mod], "Button2", lazy.window.bring_to_front())
]
The above example can also be written more concisely with the help of
the EzClick
and EzDrag
helpers:
from libqtile.config import EzClick as Click, EzDrag as Drag
mouse = [
Drag("M-1", lazy.window.set_position_floating(),
start=lazy.window.get_position()),
Drag("M-3", lazy.window.set_size_floating(),
start=lazy.window.get_size()),
Click("M-2", lazy.window.bring_to_front())
]
Reference
Click
- class libqtile.config.Click(modifiers: list[str], button: str, *commands: LazyCall)[source]
Bind commands to a clicking action.
- Parameters:
- modifiers:
A list of modifier specifications. Modifier specifications are one of:
"shift"
,"lock"
,"control"
,"mod1"
,"mod2"
,"mod3"
,"mod4"
,"mod5"
.- button:
The button used to click e.g.
"Button1"
.- commands:
A list
LazyCall
objects to evaluate in sequence upon click.
Drag
- class libqtile.config.Drag(modifiers: list[str], button: str, *commands: LazyCall, start: LazyCall | None = None, warp_pointer: bool = False)[source]
Bind commands to a dragging action.
On each motion event the bound commands are executed with two additional parameters specifying the x and y offset from the previous position.
- Parameters:
- modifiers:
A list of modifier specifications. Modifier specifications are one of:
"shift"
,"lock"
,"control"
,"mod1"
,"mod2"
,"mod3"
,"mod4"
,"mod5"
.- button:
The button used to start dragging e.g.
"Button1"
.- commands:
A list
LazyCall
objects to evaluate in sequence upon drag.- start:
A
LazyCall
object to be evaluated when dragging begins. (Optional)- warp_pointer:
A
bool
indicating if the pointer should be warped to the bottom right of the window at the start of dragging. (Default: False)
EzClick
- class libqtile.config.EzClick(btndef: str, *commands: LazyCall)[source]
Bind commands to a clicking action using the Emacs-like format.
- Parameters:
- btndef:
The Emacs-like button specification, e.g.
"M-1"
.- commands:
A list
LazyCall
objects to evaluate in sequence upon drag.