{"id":13436798,"url":"https://github.com/baskerville/xdo","last_synced_at":"2025-03-18T21:31:09.877Z","repository":{"id":8429545,"uuid":"10017952","full_name":"baskerville/xdo","owner":"baskerville","description":"Small X utility to perform elementary actions on windows","archived":false,"fork":false,"pushed_at":"2023-08-20T05:21:17.000Z","size":42,"stargazers_count":303,"open_issues_count":11,"forks_count":18,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-10-27T20:21:19.687Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"sr/git-wiki","license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baskerville.png","metadata":{"files":{"readme":"README.asciidoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-05-12T18:56:06.000Z","updated_at":"2024-10-18T05:01:25.000Z","dependencies_parsed_at":"2024-06-21T14:23:23.061Z","dependency_job_id":null,"html_url":"https://github.com/baskerville/xdo","commit_stats":{"total_commits":55,"total_committers":4,"mean_commits":13.75,"dds":"0.054545454545454564","last_synced_commit":"688f10fda07ec36a3295b15c3191b6a203738c09"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baskerville%2Fxdo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baskerville%2Fxdo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baskerville%2Fxdo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baskerville%2Fxdo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baskerville","download_url":"https://codeload.github.com/baskerville/xdo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244310567,"owners_count":20432567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:00:52.178Z","updated_at":"2025-03-18T21:31:09.870Z","avatar_url":"https://github.com/baskerville.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":":man source:   Xdo\n:man version:  {revnumber}\n:man manual:   Xdo Manual\n\nxdo(1)\n======\n\nName\n----\n\nxdo - Perform actions on windows\n\nSynopsis\n--------\n\n*xdo* 'ACTION' ['OPTIONS'] ['WID' ...]\n\nDescription\n-----------\n\nApply the given action to the given windows.\n\nIf no window IDs and no options are given, the action applies to the focused window.\n\nActions\n-------\n\n*close*::\n  Close the window.\n\n*kill*::\n  Kill the client.\n\n*hide*::\n  Unmap the window.\n\n*show*::\n  Map the window.\n\n*raise*::\n  Raise the window.\n\n*lower*::\n  Lower the window.\n\n*below*::\n  Put the window below the target (see *-t*).\n\n*above*::\n  Put the window above the target (see *-t*).\n\n*move*::\n  Move the window.\n\n*resize*::\n  Resize the window.\n\n*activate*::\n  Activate the window.\n\n*id*::\n  Print the window's ID.\n\n*pid*::\n  Print the window's pid.\n\n*key_press*::\n*key_release*::\n  Simulate a key press/release event.\n\n*button_press*::\n*button_release*::\n  Simulate a button press/release event.\n\n*pointer_motion*::\n  Simulate a pointer motion event.\n\n*-h*::\n  Print the synopsis and exit.\n\n*-v*::\n  Print the version and exit.\n\nOptions\n-------\n\nWhen 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.\n\n*-r*::\n  Distinct ID.\n\n*-c*::\n  Same class.\n\n*-C*::\n  Distinct class.\n\n*-d*::\n  Same desktop.\n\n*-D*::\n  Distinct desktop.\n\n*-n* 'INSTANCE_NAME'::\n  The window has the given instance name.\n\n*-N* 'CLASS_NAME'::\n  The window has the given class name.\n\n*-a* 'WM_NAME'::\n  The window has the given wm name.\n\n*-t* 'WID'::\n  The target window for the *below* and *above* actions.\n\n*-p* 'PID'::\n  The window has the given pid.\n\n*-k* 'CODE'::\n  Use the given code for the *key_press*, *key_release*, *button_press* and *button_release* actions.\n\n*-x* '[±]PIXELS'::\n  Window x coordinate (or delta) for the *move* and *pointer_motion* action.\n\n*-y* '[±]PIXELS'::\n  Window y coordinate (or delta) for the *move* and *pointer_motion* action.\n\n*-w* '[±]PIXELS'::\n  Window width (or delta) for the *resize* action.\n\n*-h* '[±]PIXELS'::\n  Window height (or delta) for the *resize* action.\n\n*-m*::\n  Wait for the existence of a matching window.\n\n*-s*::\n  Handle symbolic desktop numbers.\n\nExamples\n--------\n\nClose the focused window:\n\n----\nxdo close\n----\n\nClose all the windows having the same class as the focused window:\n\n----\nxdo close -c\n----\n\nHide all the windows of the current desktop except the focused window:\n\n----\nxdo hide -dr\n----\n\nActivate the window which ID is 0x00800109:\n\n----\nxdo activate 0x00800109\n----\n\nSend fake key press/release events with keycode 46 to the focused window:\n\n----\nxdo key_press -k 46; sleep 0.2; xdo key_release -k 46\n----\n\n////\nvim: set ft=asciidoc:\n////\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaskerville%2Fxdo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaskerville%2Fxdo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaskerville%2Fxdo/lists"}