wlcctrl1
A command line utility for kylin-wayland-compositor
Usage
wlcctrl [command]
[options ...]
Global options
-
--help -
Show a help message and quit.
-
-v, --version -
Show a wlcctrl version and quit.
-
--exec <str> -
Execute a shell command.
-
--sleep <int_ms> -
Set sleep time in milliseconds. Can be combined with other commands.
example:
wlcctrl --keydown a --sleep 1000 --keyup a wlcctrl --mousepress 1 --sleep 200 --mouserelease 1
-
--path <str> -
Set screenshot save path (PNG format). Uses last value when set multiple times.
with
--windowcapture:Set the window screenshot saved path.
with
--workspacecapture:Set the workspace screenshot saved path.
with
--fullscreencapture:Set the screen/output screenshot saved path.
example: wlcctrl --windowcapture uuid --path "/home/kylin/xxx.png"
-
-o <o_uuid> -
Specify output device by UUID. Uses last value when set multiple times.
Keyboard options
-
--keystring <string> -
Send a string to be typed into the focused client. No commands can chain after 'keystring'.
-
--key <key> -
Send key events. Single key or key combination.
Note: CapsLock(58), NumLock(69), ScrollLock(70) may not switch states normally. For reliable lock key functionality, use ydotool instead.
Key mappings:
"PrintScreen" -> "sys_req" "esc" -> "escape" "ctrl" -> "control_l" "shift" -> "shift_l" "alt" -> "alt_l" "winleft" -> "super_l" "enter" -> "return"
Valid keys: escape, return, shift_l, shift_r, control_l, control_r, meta_l, meta_r, alt_l, alt_r, page_up, page_down, menu, caps_lock, pause, break, print, sys_req, scroll_lock, num_lock, etc.
Multiple keys separated by '+'.
examples:
wlcctrl --key control_l+alt_l+t wlcctrl --key ctrl+alt+t wlcctrl --key super_l
-
--keyup <key> -
Release a single key.
-
--keydown <key> -
Press a single key.
with
--keyup:Indicate pressing and releasing a key.
otherwise: Indicate the state of a key being pressed individually. The command defaults to releasing the key upon completion.
Pointer options
-
--mousebutton <button> -
Click mouse button.
Button codes:
1 = BTN_LEFT 2 = BTN_RIGHT 3 = BTN_MIDDLE 4 = BTN_EXTRA 5 = BTN_SIDE 6 = BTN_FORWARD 7 = BTN_BACK
example:
wlcctrl --mousebutton 2
-
--mousepress [button] -
Press a mouse button.
Button codes:
1 = BTN_LEFT 2 = BTN_RIGHT 3 = BTN_MIDDLE 4 = BTN_EXTRA 5 = BTN_SIDE 6 = BTN_FORWARD 7 = BTN_BACK
with
--mousereleaseIndicate pressing and releasing a mouse button.
width
--mousemoveCan be combined into a drag-and-drop action.
otherwise: Indicate the state of an individual mouse button being pressed. The command defaults to releasing the mouse button upon completion.
example: Click a mouse button.
wlcctrl --mousepress 2 --mouserelease 2
example: Complete a drag-and-drop action.
/wlcctrl --mousemove 500,600 --mousepress 1 --mousemove 100,200 --mouserelease 1
-
--mouserelease [button] -
Release a mouse button.
Button codes: BTN_LEFT->1 | BTN_RIGHT->2 | BTN_MIDDLE->3 | BTN_EXTRA->4 | BTN_SIDE->5 | BTN_FORWARD->6 | BTN_BACK->7
-
--mousemove <dx,dy> -
Move cursor. dx = right displacement, dy = down displacement. Only non-negative numbers allowed. Units: pixels.
example:
wlcctrl --mousemove 100,500
--scroll [-x <dx>] [-y <dy>]
Scroll cursor. Negative numbers allowed.
examples:
wlcctrl --scroll -y 10 wlcctrl --scroll -x 10 -y 20
-
--getmouselocation -
Get the current mouse position.
Toplevel options
-
-l, --list -
List the names of all known toplevel.
--windowmove <w_uuid> [options...]
Move the window to a specified position.
-
-x <dx> -
dx is the displacement in positive-right direction.
-
-y <dy> -
dy is the displacement in the positive-downward direction.
Only non-negative numbers are allowed.
example: wlcctrl --windowmove 182fcd8f-6136-413b-aa1b-c77b066ebe23 -x 200 -y 400
--windowsize <w_uuid> [options...]
Resize the window. w_uuid: This is the UUID of the toplevel device.
-
-w <width> -
width is the desired window width.
-
-h <height> -
height is the desired window height.
Units are pixels.
example: wlcctrl --windowsize 182fcd8f-6136-413b-aa1b-c77b066ebe23 -w 800 -h 600
-
--windowminimize <w_uuid> -
Minimize window. w_uuid is the UUID of the toplevel.
-
--windowmaximize <w_uuid> -
Maximize window. The default output device is the primary display. w_uuid is the UUID of the toplevel.
with
-oSet the output device for the action.
example: wlcctrl --windowmaximize <w_uuid> -o <o_uuid>
-
--windowfullscreen <w_uuid> -
Fullscreen window. The default output device is the primary display. w_uuid is the UUID of the toplevel.
with
-oSet the output device for the action.
example: wlcctrl --windowfullscreen <w_uuid> -o <o_uuid>
-
--windowenter <w_uuid:uuid> -
Add the window into the specified workspace. w_uuid is the UUID of the toplevel. uuid is the workspace that window to be entered.
-
--windowleave <w_uuid:uuid> -
Remove the window from the specified workspace. w_uuid is the UUID of the toplevel. uuid is the workspace that window to be left.
-
--movewindowtoworkspace <w_uuid:uuid> -
Move the window to the specified workspace. w_uuid is the UUID of the toplevel. uuid is the workspace that window moved to.
-
--movewindowtooutput <w_uuid:o_uuid> -
Move the window to the specified output device. w_uuid is the UUID of the toplevel. o_uuid is the UUID of the output device.
-
--windowmap <w_uuid> -
Restore window. w_uuid is the UUID of the toplevel.
-
--windowclose <w_uuid> -
Close window. w_uuid is the UUID of the toplevel.
-
--windowkill <app_id> -
Force close all windows of the specified app_id.
-
--windowactivate <w_uuid> -
Activate the specified window. w_uuid is the UUID of the toplevel.
-
--windowcapture <w_uuid> -
Take a screenshot of a window. Saved by default in the current working directory. w_uuid is the UUID of the toplevel.
-
--getactivewindow -
Get the current active window.
-
--getwindowname <w_uuid> -
Query the app ID, title, icon and pid of a specific window. w_uuid is the UUID of the toplevel.
-
--getwindowgeometry <w_uuid> -
Query the geometry of a specific window. w_uuid is the UUID of the toplevel.
-
--search <name> -
Obtain the window UUID list by checking if the regular expression pattern matches the window app_id, icon and title.
Output options
-
--outputs -
List the name of all known outputs.
-
--getdisplaygeometry <o_uuid> -
Get the geometry of a specified output. o_uuid is the UUID of the output device.
-
--fullscreencapture -
Take a fullscreen screenshot. Saved the file to the current working directory by default. By default, capture a fullscreen image of the primary display.
example: wlcctrl --fullscreencapture
with
-oSet the output device for the action.
example: wlcctrl --fullscreencapture -o <o_uuid>
-
--setarea <x,y,width,height> -
Area screenshot. Set the position and size of the rectangular region. The default output device is the primary display.
x is X coordinate of the screenshot area in output coordinate. y is Y coordinate of the screenshot area in output coordinate. width is Width of the screenshot area. height is Height of the screenshot area.
with
-oSet the output device for the area.
with
--pathSet the screenshot save path.
example: wlcctrl --setarea 10,40,500,100 --path "/home/kylin/xxx.png"
wlcctrl --setarea 10,40,500,500 --path "/home/kylin/xxx111.png" -o d4d40b7b-5e2e-396a-eaa2-7b5efea5a3ec
-
--getpixelcolor <x,y> -
Get the RGBA value of a pixel at a specified position. The default output device is the primary display. x is X coordinate of the point in output coordinate. y is Y coordinate of the point in output coordinate.
with
-oSet the output device for the pixel location.
example: wlcctrl --getpixelcolor 100,3
Workspace options
-
--workspace -
List the name of all known workspaces.
-
--workspacecapture <uuid:o_uuid> -
Take a screenshot of a workspace. Saved the file to the current working directory by default. uuid is the workspace that needs to be captured. o_uuid is the UUID of the output device.
-
--workspaceadd <num> -
Add new workspaces. If num is unspecified, a workspace will be added by default.
-
--workspaceremove <uuid> -
Remove the specified workspace. uuid: The workspace that needs to be operated on.
-
--workspaceactive <uuid> -
Activate the specified workspace. uuid is the workspace that needs to be operated on.