Sending keyboard input to a program from command-line Sending keyboard input to a program from command-line shell shell

Sending keyboard input to a program from command-line


xdotool does have a way of sending keystrokes if limited to a focused window:

WID=`xdotool search "Mozilla Firefox" | head -1`xdotool windowactivate $WIDxdotool key ctrl+l


It's an old topic, but one still may be looking for this, someone mentioned here solution where window must be activated when using xdotool. However you can specify window and even use xdotool to find it. Here is example I tried to accomplish, change it as you need.

xdotool key --window $(xdotool search --name "Spotify (Premium |Free )?- Linux Preview" | head -n1) ctrl+KP_Down


I've built a Ruby DSL around xdotool to simplify the focusing of windows and simulation of keyboard input. Here's an example, riffing on your original request:

Mani.new(window_manager: :xmonad) do  window :hello, launch: 'urxvt' do    run 'echo "hello\n"'  end  window :firefox, launch: 'firefox', delay: 1.5 do    type '{{ctrl+t}}'  endend