Utility for miscellaneous wlroots extensions
1bce5aa5 — Ronan Pigott 2 months ago
scrap unused mailing list
6826d3d9 — Ronan Pigott 2 months ago
add output zsh completions
1b3a75f0 — Ronan Pigott 2 months ago
add output management protocol



You can also use your local clone with git send-email.


wlrctl is a command line utility for miscellaneous wlroots Wayland extensions.

At this time, wlrctl supports the foreign-toplevel-mangement (window/toplevel command), virtual-keyboard (keyboard command), and virtual-pointer (pointer command) protocols.


At the time of this writing, the release version of wlroots has serious session breaking bugs and crashes related to these protocols. If you want to use wlrctl with wlroots/sway you will need a wlroots 0.12+ or sway 1.6+ version.


There is an AUR package for wlrctl here. And an openSUSE package here.

Otherwise, build with meson/ninja e.g.

$ meson setup --prefix=/usr/local build
$ ninja -C build install

#Features and Examples

wlrctl is still experimental, and has just a few basic features. Check the man page wlrctl(1) for full details.

Some example uses are:

$ wlrctl keyboard type 'Hello, world!'

... to type some text using a virtual keyboard.

$ wlrctl pointer move 50 -70

... to move the cursor 50 pixels right and 70 pixels up.

$ wlrctl window focus firefox || swaymsg exec firefox

... to focus firefox if it is running, otherwise start firefox.

$ wlrctl toplevel waitfor mpv state:fullscreen && makoctl dismiss

... to dismiss desktop notifications when mpv becomes fullscreen


You can send patches to the mailing list or submit an issue on the issue tracker.