An open API service indexing awesome lists of open source software.

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

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:
////