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.
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 start dragging e.g.
"Button1"
.- commands:
A list
LazyCall
objects to evaluate in sequence upon drag.
Drag¶
- class libqtile.config.Drag(modifiers: list[str], button: str, *commands: LazyCall, start: LazyCall | None = None)[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)