wlrctl - Man Page

A command line utility for miscellaneous wlroots extensions


wlrctl [options...] [command]


-h,  --help

Show a help message and quit.

-v,  --version

Show the wlrctl version and quit.


keyboard <action>

Use a virtual keyboard.

pointer <action>

Use a virtual pointer device.

window|toplevel <action>

Use the foreign toplevel interface.

output { <action> | <identifier> [config_action] }

Use the output management interface.

Keyboard Actions

type <string> [modifiers ...]

Send a string to be typed into the focused client

modifiers <SHIFT,CTRL,ALT,SUPER> Comma-separated list of modifiers that will be depressed on the virtual keyboard while string is being typed.

Pointer Actions

click [button]

Click a mouse button. If unspecified, clicks the default (left) button.

move <dx> <dy>

Move the cursor. dx is the displacement in positive-right direction, dy is the displacement in the positive-downward direction. Negative numbers are allowed. Units are pixels.

scroll <dy> <dx>

Scroll the cursor. dy is the amount of vertical scroll, dx is the amount of horizontal scroll. Negative numbers are allowed.

Toplevel Actions

minimize [matches...]

Instruct the compositor to minimize matching windows.

maximize [matches...]

Instruct the compositor to maximize matching windows.

fullscreen [matches...]

Instruct the compositor to fullscreen matching windows.

focus [matches...]

Instruct the compositor to focus matching windows.

find [matches...]

Exit with a successful return code iff there is at least one window matching the provided criteria.

wait [matches...]

Wait to return a successful return code until all the matching windows have closed. If there are no matches, exit with a failing return code immediately.

waitfor [matches...]

Wait to return a successful return code until there is at least one window that matches the requested criteria.

Output Actions


List the names of all known outputs

Toplevel Matchspec

A match is a colon separated attribute/value pair. e.g. To match a firefox window, a suitable match value is app_id:firefox. You may give any number of match specifiers, and a window must match all of them to be considered. If the app_id or title keys are specified more than once, a window may match any of the given values. Otherwise later key value pairs override previous ones. A match without a key is assumed to be an app_id, so just firefox works in the example above.

Currently supported attributes are: app_id, title, and state.

Supported state values are: maximized, minimized, active, and fullscreen, and their negations: unmaximized, unminimized, inactive, and unfullscreen.  You can also use a '-' prefix, for example state:-fullscreen.


Written by Ronan Pigott <rpigott@berkeley.edu>