如何使用 `scrot` 按名称截取特定窗口的屏幕截图?

如何使用 `scrot` 按名称截取特定窗口的屏幕截图?

如果我想选择一个窗口,scrot可以轻松完成:

scrot -s name.jpg

但是如果我想要求scrot继续从选定的窗口截取屏幕截图,那么我不知道该怎么做。以下是我尝试过的:

#!/bin/sh
while true
do
   scrot -s "$(date)".jpg
   sleep 5
done

上述问题是:每隔 5 秒我必须scrot通过单击来判断是哪个窗口。

如果我第一次只单击一次就可以通过该窗口,那就太完美了。

如果没有,我可以scrot通过告诉它窗口名称来判断是哪个窗口吗?

编辑:我还希望它在窗口最小化时也能正常工作。该怎么做?

答案1

man scrot

       -u, --focused
            Use the currently focused window.

因此你可以像这样更改你的脚本:

#!/bin/sh
while true
do
   scrot -u "$(date)".jpg
   sleep 5
done

但是,这将在脚本启动后立即开始截取屏幕截图,这可能是不受欢迎的;这会更加用户友好,因为它只会在用户手动选择窗口后才开始截取屏幕截图:

#!/bin/sh
scrot -s "$(date)".jpg
while true
do
   sleep 5
   scrot -u "$(date)".jpg
done

相关内容