## Random Examples ### Examples List window names matching pattern ``` xdotool search --name "$search_string" getwindowname %@ # or xdotool search --name "$search_string" | xargs -n1 xdotool getwindowname ``` Send keys to named window (sends to): ``` xdotool search --name "$search_string" key key1 key2 ... ``` ### Scripts Example python script using curses and subprocess to send keypresses to named window using xdotool ``` #!/usr/bin/env python3 import curses import subprocess import sys args = sys.argv[1:] try: name = args[0] except Exception: print(f"{args[0]} ") exit(1) def sendkey(x): subprocess.run(["xdotool","search","--name",name,"key",x]) def main(stdscr): curses.noecho() stdscr.addstr(f"Search for {name}\nPress left, right, up, down, or a character\n") stdscr.refresh() try: while True: c = stdscr.getch() k = chr(c) if k.upper() in "ABCDEFGHIJLKMNOPQRSTYVWXYZ0123456789": sendkey(k) elif k == " ": sendkey("space") elif c == curses.KEY_LEFT: sendkey("Left") elif c == curses.KEY_RIGHT: sendkey("Right") elif c == curses.KEY_UP: sendkey("Up") elif c == curses.KEY_DOWN: sendkey("Down") except KeyboardInterrupt: return if __name__ == "__main__": curses.wrapper(main) ```