用于等待进程结束的 XDoTool 命令

用于等待进程结束的 XDoTool 命令

我使用 VisiPics 程序来删除重复的图片。删除的处理时间根据图片和重复的数量而变化。我创建了一个 Xdotool 命令来对 Visipics 执行某些操作:

xdotool mousemove 239 85 click 1 mousemove 316 68 click 1 mousemove 413 71 click 1 mousemove 605 243 click 1 click 1 click 1 click 1 click 1 mousemove 468 301 click 1 sleep 30 mousemove 817 170 click 1 mousemove 769 483 click 1 mousemove 809 249 sleep 1 click 1 mousemove 757 484 click 1 mousemove 800 487 click 1 mousemove 839 11 click 1 mousemove 760 485 click 1

以下是操作的视觉效果:

在此输入图像描述

该命令中出现问题的部分是上图中的步骤 3。我发现sleep有时有效:

mousemove 468 301 click 1 sleep 30 mousemove 817 170 click 1

由于处理图片的等待时间各不相同,该sleep命令并不总是能很好地工作。我也尝试过使用该--delay命令,但出现错误xdotool: Unknown command: --delay

顺便几年前我问过一个与 Visipics 相关的类似问题,但它对我解决这个特定问题没有帮助,尽管我希望 Xdotool 与 Visipics 执行的操作是相同的。

Xdotool 有没有办法在执行其余操作之前确定程序已完成图片处理?

答案1

答案是目前还无法做到这一点。如果您继续这样做,那么 sleep/--delay 命令是您唯一可能的解决方法。

完全、可靠地自动化流程的唯一方法是

  • 答:如果有问题的实用程序可以从命令行而不是 GUI 进行操作,请找出需要哪些命令行参数以及按什么顺序,然后在 bashrc 中设置一个别名,以便您可以随时运行它。
  • B:寻找一个可以通过命令行而不是依赖 GUI 完成相同操作的替代程序。

快速谷歌搜索会告诉你,visipics 2 根据其概念应该在专业版本中支持此功能,但是由于它尚未开发,而且距离制定计划已经有 8 年了,我们不太可能很快就会看到。

这让你只能选择要么接受你现在所拥有的并继续使用 sleep,要么切换到不同的工具,如 dupeGuru 或 fslint。

相关内容