# xdo **Repository Path**: colin4124/xdo ## Basic Information - **Project Name**: xdo - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-2-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-03-16 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## 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: ////