xdo(1)
Name
xdo - Perform actions on windows
Synopsis
xdo ACTION [OPTIONS] [WID …​]
Description
Apply the given action to the given windows.
If no window IDs and no options are given, the action applies to the focused window.
Actions
- close
-
Close the window.
- kill
-
Kill the client.
- hide
-
Unmap the window.
- show
-
Map the window.
- raise
-
Raise the window.
- lower
-
Lower the window.
- below
-
Put the window below the target (see -t).
- above
-
Put the window above the target (see -t).
- move
-
Move the window.
- resize
-
Resize the window.
- activate
-
Activate the window.
- id
-
Print the window’s ID.
- pid
-
Print the window’s pid.
- key_press
- key_release
-
Simulate a key press/release event.
- button_press
- button_release
-
Simulate a button press/release event.
- pointer_motion
-
Simulate a pointer motion event.
- -h
-
Print the synopsis and exit.
- -v
-
Print the version and exit.
Options
When options are provided, the action applies to all the children of the root window that match the comparisons implied by the options in relation to the focused window.
- -r
-
Distinct ID.
- -c
-
Same class.
- -C
-
Distinct class.
- -d
-
Same desktop.
- -D
-
Distinct desktop.
- -n INSTANCE_NAME
-
The window has the given instance name.
- -N CLASS_NAME
-
The window has the given class name.
- -a WM_NAME
-
The window has the given wm name.
- -t WID
-
The target window for the below and above actions.
- -p PID
-
The window has the given pid.
- -k CODE
-
Use the given code for the key_press, key_release, button_press and button_release actions.
- -x [±]PIXELS
-
Window x coordinate (or delta) for the move and pointer_motion action.
- -y [±]PIXELS
-
Window y coordinate (or delta) for the move and pointer_motion action.
- -w [±]PIXELS
-
Window width (or delta) for the resize action.
- -h [±]PIXELS
-
Window height (or delta) for the resize action.
- -m
-
Wait for the existence of a matching window.
- -s
-
Handle symbolic desktop numbers.
Examples
Close the focused window:
xdo close
Close all the windows having the same class as the focused window:
xdo close -c
Hide all the windows of the current desktop except the focused window:
xdo hide -dr
Activate the window which ID is 0x00800109:
xdo activate 0x00800109
Send fake key press/release events with keycode 46 to the focused window:
xdo key_press -k 46; sleep 0.2; xdo key_release -k 46