https://github.com/baskerville/xdo
Small X utility to perform elementary actions on windows
https://github.com/baskerville/xdo
Last synced: over 1 year ago
JSON representation
Small X utility to perform elementary actions on windows
- Host: GitHub
- URL: https://github.com/baskerville/xdo
- Owner: baskerville
- License: bsd-2-clause
- Created: 2013-05-12T18:56:06.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2023-08-20T05:21:17.000Z (almost 3 years ago)
- Last Synced: 2024-10-27T20:21:19.687Z (over 1 year ago)
- Language: C
- Size: 41 KB
- Stars: 303
- Watchers: 11
- Forks: 18
- Open Issues: 11
-
Metadata Files:
- Readme: README.asciidoc
- License: LICENSE
Awesome Lists containing this project
README
:man source: Xdo
:man version: {revnumber}
:man manual: Xdo Manual
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
----
////
vim: set ft=asciidoc:
////