如何自动为屏幕截图添加元标签?

如何自动为屏幕截图添加元标签?

我想知道是否有办法在按下打印屏幕键时自动将给定的元标记添加到所拍摄的屏幕截图中。

这确实可以节省时间,因为我经常上传许多屏幕截图到我的博客。这样就无需手动为所有屏幕截图添加标签。

答案1

您可以将您选择的键盘快捷键映射到一个(非常)简短的脚本,如下所示:

#!/bin/sh
FILENAME=~/screenshot.jpg
TAGSTRING="tag:screenshot"
KW="My keyword"

activeWinLine=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)")
activeWinId=${activeWinLine:40}
import -window "$activeWinId" $FILENAME -comment $TAGSTRING

# More advanced exif info:
exiftool -keywords=$KW $FILENAME

要使这个可执行文件,请将其保存为类似的内容myscreenshot,然后执行

chmod u+x myscreenshot

将其放在您的~/bin/目录中并确保该目录在您的路径中意味着它将可从调用它的任何目录中执行。

然后根据您的桌面环境,您需要将您喜欢的任何键盘快捷键映射到命令myscreenshot

例如侏儒,从首选项中选择键盘快捷键,并为命令分配自定义快捷键(由您决定组合键)myscreenshot。如果您没有将可执行文件放在 PATH 上的路径中,则必须在命令参数中指定完整路径,例如'/home/USER/bin/./myscreenshot'

笔记

这将截取活动窗口的屏幕截图,但如果您愿意,可以轻松修改为截取整个窗口的屏幕截图。

外置工具

exiftool也可以做你想做的事——也许比存储信息更灵活评论单独使用字符串。

例如

exiftool -keywords=one -keywords=two -keywords=twentythree FILENAME

将会把关键字onetwo和添加three到 FILENAME 中。

GUI 替代方案

此外,TAGSTRING 可以在脚本文件中设置,或者可以使用简单的 zenity 对话框传递,这取决于它是否每次都相同或者您是否需要能够更改它。

另外,shutter似乎有很多自定义选项(比普通的屏幕截图工具多得多),包括上传! 看这里了解更多信息。

相关内容