1

我希望能够运行一个 bash 脚本,它将按键和点击发送到多个窗口。这不一定必须使用 xdotool 来完成,如果有替代方案我会很乐意使用它。最好它可以与 bash 一起使用。

所以,如果我有三个窗口,所有这些窗口我都想发送“w”键,我需要做一些事情,比如快速连续地将活动窗口设置为每个窗口,然后发送 w 键。

我希望能够同时做到这一点,所以这不会很好。

4

2 回答 2

1

您需要事先知道窗口名称,即在运行脚本之前..您可以这样做

#!/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

于 2016-02-18T03:03:13.163 回答
1

您可以用它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
于 2016-03-19T15:39:27.400 回答