问题标签 [xdotool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
247 浏览

bash - 不运行时使用 bash 脚本自动重启 Firefox

我正在开发一个使用 Firefox 的自助服务终端应用程序,并希望确保它在崩溃时以全屏模式重新启动

没有这样的 xdotool 行,代码运行良好

但是如果我为全屏添加 xdotool 行,它将每 5 秒打开一次 firefox

我的脚本中的错误在哪里?谢谢

0 投票
1 回答
5627 浏览

bash - 错误:无法打开显示:(空)无法在 Mac OS 上创建新的 xdo 实例

我在互联网上查看了很多答案,但没有任何解决方案有帮助。当我刚做open http://google.com时,我的默认浏览器是谷歌浏览器。我通过 brew 下载了 xdotool 包我想做的是,打开网页(任何网页)并每 10 秒刷新一次,我有以下代码:

我也试过DISPLAY=':0'or DISPLAY=':0.0',他们也没有工作。

0 投票
1 回答
360 浏览

python - 打开一个进程并捕获标准输出并发送自定义按键

我有这个 python 脚本(带ncurses):

这些是我最后一次尝试(结果不好)来捕获标准输出并发送按键:

这是与Popen.

这是其他的pexpect

我试过了,xdotools但我无法捕捉到标准输出。

是否有任何形式可以欺骗/欺骗可执行文件,因为它“相信”它正在正常运行?

0 投票
0 回答
429 浏览

c++ - 执行复合 XDOTOOL shell 命令需要延迟才能成功执行

我正在 UNIX 上创建一个应用程序,它使用该命令xdotool来伪造鼠标/键盘操作。该命令按预期工作,示例行:

xdotool mousemove 20 50 && xdotool mousedown 1 && xdotool mouseup 1

移动鼠标并按预期执行简单的单击。

但是,当尝试从 C 程序调用此命令时,需要拆分命令并在两者之间插入延迟(mousemove,然后等待,然后mousedown && mouseup)。

这些是涉及的相关代码:

命令的生成:

执行功能:

到目前为止,我已经尝试过:

  • 使用单独执行命令popen

  • &&通过使用一起执行命令popen

  • 和以前一样,system自从我读到它之后就使用了对命令的阻塞调用(认为这可能是问题所在)。

到目前为止,它起作用的唯一方法是拆分命令并在两个调用之间设置延迟(从命令的生成中可以看出)。

没有延迟,鼠标移动了,但是点击没有效果。执行没有返回错误。

正如您在exec()函数中看到的那样,我将命令打印到屏幕上,然后手动运行它以确保命令格式正确。该命令在 shell 上按预期运行。

我不知道在调用popen()/system()导致此行为的函数时是否遗漏了什么

0 投票
1 回答
300 浏览

linux - 使用 bash 计算 Linux 上最小化的窗口

我正在尝试构建一个脚本,在显示我选择的窗口之前检查 XFCE 下的窗口是否已最小化(它是更大项目的一部分)

我试图用 wmctrl 恢复打开窗口的数量,但这些不是最小化的窗口:

我也尝试使用 xdotool,但没有成功:(

我想知道您是否知道任何获取此信息的方法。我在 XFCE 上,但任何工具的另一种方式都会很棒

非常感谢 !

0 投票
1 回答
1240 浏览

xdotool - xdotool 中的 POS1 键的名称是什么?

我需要 xdotool 才能按pos1,但我不知道这个键的名称。不是 pos1,POS1,Pos1,Beginning。如何找到 xdotool 使用的密钥的名称?

0 投票
1 回答
561 浏览

linux - 获取 Xorg 下插入符号(输入文本光标)的 X/Y 位置?

我想在 X 上运行的任何 Linux 应用程序(GTK、Qt、Electron 等)中,在用户输入的位置上方显示一个弹出框。

我想出了创建弹出框,现在我想弄清楚如何获取输入文本光标的坐标(键入时会闪烁,不确定它是否称为“插入符号”?)相对于屏幕。

我知道我可以通过以下方式获取有关鼠标位置的信息xdotool

我需要同样的东西,但对于文本光标,在当前聚焦的窗口中。

我不知道如何实现这一目标。如果有人能指出我正确的方向,我会很高兴。

0 投票
0 回答
1936 浏览

c++ - 在不移动鼠标的情况下将鼠标单击事件发送到 Linux 中的其他窗口

我有一个 Windows 应用程序,我想将它移植到 Linux。在这个应用程序中,我将鼠标单击事件发送到其他应用程序。完成这项工作的功能是这样的:

我在 Linux 中搜索了等效代码并找到了 xdotool。据我了解,使用xdotool,您必须首先将鼠标移动到一个点,然后单击该点。但是在 Windows 中,我可以在不移动鼠标的情况下将鼠标单击事件虚拟地发送到其他窗口。那么关于 Linux 的故事是真的吗?是否可以在不(真的)在 Linux 中移动鼠标的情况下向其他应用程序发送点击事件?我正在使用 Ubuntu 18.04。

0 投票
1 回答
578 浏览

keyboard - 绑定到键时,xdotool 无法在 i3wm 中工作

我制作了一个脚本,用于xdotool进行一些键盘输入。
您可以在此处找到脚本(该脚本称为pop_mpv.sh)。

当我从终端运行该脚本时,该脚本运行良好,但当我将脚本绑定到某个键时,它无法正常运行。

这是我放入 i3 配置的内容:

根据 i3wm 用户指南,我必须使用--release,因为我正在使用xdotool. https://i3wm.org/docs/userguide.html#keybindings

我尝试了这个问题中的建议,但没有奏效。

编辑我忘记添加xclip运行所需的脚本

0 投票
0 回答
525 浏览

python - 在虚拟 X 显示器上启动并检查窗口名称

我正在 Ubuntu 18.04 上编写测试。我想创建一个虚拟显示器,在其上启动一个窗口,然后检查窗口名称。在三个单独的外壳中,我正在运行:

然后

然后

最后一个命令返回

该错误似乎来自xdotool

我只想做最简单的事情来获得虚拟显示器,在其上启动一个窗口,然后检查窗口名称。

我应该怎么办?