~brocellous/wlrctl

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

clone

read-only
https://git.sr.ht/~brocellous/wlrctl
read/write
git@git.sr.ht:~brocellous/wlrctl

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

#wlrctl

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.

#Warning

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.

#Installation

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

#Contributing

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