take-vector-screenshot:在截屏前聚焦窗口

take-vector-screenshot:在截屏前聚焦窗口

我正在使用take-vector-screenshotPDF 截图。

当我启动时take-vector-screenshot,我必须单击其窗口内的按钮才能开始截屏过程。然后我需要选择要截屏的窗口。

需要单击按钮才能启动该过程

在单击此按钮的过程中(如上图所示),焦点会从我实际想要截取的窗口移开。因此,我截取的屏幕截图是一个未聚焦的窗口,这是不理想的。

我可以用来wmctrl -a $WINDOW_TITLE聚焦我想要截取屏幕截图的窗口,但如果我在它前面加上例如,这不起作用sleep 3

有什么想法我可以让它工作吗?

答案1

这(某种程度上)似乎与我的外壳有关。

如果我运行bash然后尝试sleep 2; wmctrl -a WindowTitle,它运行正常。

但每次都失败zsh——不知道为什么。

但这并不能解决问题:因为当保存对话框出现时,窗口仍然无法聚焦。我通过以下方法修复了这个问题分叉 gtk-vector-screenshot并添加对 的调用gtk_window_set_accept_focus(window, False);。我还删除了保存对话框,因此 PDF 只会写入主目录。这是一个 hack,但该项目不再维护,它为我完成了工作。

相关内容