我希望能够运行一个 bash 脚本,它将按键和点击发送到多个窗口。这不一定必须使用 xdotool 来完成,如果有替代方案我会很乐意使用它。最好它可以与 bash 一起使用。
所以,如果我有三个窗口,所有这些窗口我都想发送“w”键,我需要做一些事情,比如快速连续地将活动窗口设置为每个窗口,然后发送 w 键。
我希望能够同时做到这一点,所以这不会很好。
您需要事先知道窗口名称,即在运行脚本之前..您可以这样做
#!/bin/bash
for winname in "$@"
do
xdotool type --window $(xwininfo -int -name "$winname" | egrep -o 'Window id: [0-9]+' | cut -d ' ' -f 3) w
done
输出
$./script1.bash "*Untitled 1 - Mousepad" "*(Untitled)" "[No Name] + - GVIM"
上面的脚本将w
击键发送到命令行上指定的所有窗口名称。
PS:对我来说,我按以下顺序打开了 3 个编辑器:Mousepad、Leafpad 和 GVIM
您可以用它xdotool
来为您完成繁重的工作。
它将使用名称、类或类名搜索窗口(使用 xprop 或 xwininfo 获取详细信息)。
这是一个将“Hello World”输出到所有运行的 libreoffice writer 文档的示例。
#!/bin/bash
for pid in $(xdotool search --class "libreoffice-writer")
do
xdotool type --window $pid 'Hello World'
done