Wayland环境下截图加后期修改

截图功能在日常工作中使用场景很多,当你要向合作伙伴解释某个问题的时候,一图胜万言,所谓有图有真相。截图完成通常要修改注解下,重点地方红框、操作步骤、箭头指引什么的。

Linux 环境下截图软件很多,实际好用的屈指可数,wayland 环境下相关软件 bug 很多。曾经我以为 flameshot 不错,但双屏环境下遇到过不少问题,经常升级到某个版本时,不能同时选中双屏截图、输入文字困难。切换到 labwc 环境后,甚至框定范围极度延时。在挣扎一段时间后,我选择了 grim + slurp + swappy 的组合,如下所示,绑定个快捷键即可。

1grim -g "`slurp`" - | swappy -f -

grim 截图, slurp 选择范围,swappy 后期修改。

这个组合基本够用,可很快就发现,swappy 的后期能力不足,比如没法加步骤指示(就是在图片上显示 1、2、3 等步骤的功能)。这一功能在描述某个操作步骤的时候非常方便快捷,编写本站各种教程的时候需要,工作演示操作的时候也需要。

看到有人提了 issue,我也追加回复希望作者添加此功能。

swappy-counter

现代社会,人人都很忙,作者完成了核心功能并开源,应该褒奖,用户不可无限索取,当然提意见供参考是鼓励的。这个功能得等能人添加(也许将来的某一天我会成为这种人,但是目前阶段还不行,退休后也许可以)。

正是在这种情况下,找到了一个替换 swappy 的后期软件 ksnip。项目较为活跃,贡献者有一百多个,wayland 环境下试用功能正常。

安装很简单,查看项目说明页面就好,这里不赘述。

难点在怎么和 grim slurp 组合使用,并能绑定一个系统快捷键触发。

组合使用

  • 错误做法

    一开始我是这样使用的,只能截图一次,第二次就提示找不到图片了。

    1grim -g "`slurp`" - | ksnip -
    

    一直没有找到原因,惭愧。

  • 正确做法

    1➜ cat screenshot.sh
    2
    3#!/bin/sh
    4NOW=$(date +"%Y-%m-%d-%H%M%S")
    5grim -g "$(slurp )" -t png $HOME/Pictures/grim-$NOW.png
    6ksnip $HOME/Pictures/grim-$NOW.png
    7pwd
    8/home/mephisto/.config/labwc
    

    原理简单,先截图保存在 Pictures 目录下,再使用 ksnip 做后期处理,各司其职,逻辑清晰。把脚本放在某个目录下,接着绑定快捷键:

    1  <keybind key="Print">
    2    <action>
    3      <name>Execute</name>
    4      <!-- <command>sh -c 'grim -g "`slurp`" - | swappy -f -'</command> -->
    5      <command>$HOME/.config/labwc/screenshot.sh</command>
    6    </action>
    7  </keybind>
    

    每种桌面环境设置快捷键的方式不不尽相同,我这里是 labwc 在 rc.xml 中配置快捷如上面所示。按Print键,即键盘上的截屏快捷键,触发执行 $HOME/.config/labwc/screenshot.sh 脚本,过程丝滑简单,本文的图片就是使用这个组合操作生成的。

细心的读者可能会问,全屏/活动窗口/单屏幕怎么完成呢?参考grim 文档。你也可以试试 ksnip 是否可以独立完成(文档表格里面部分环境下支持),大部分时候我只需要选定范围截图,所以影响不大。

另外,ksnip 还有其它的有趣功能,比如添加水印(watermark)、表情等。

ksnip-others

上图所示:

  • 图标 1,模糊功能,遮挡敏感信息;
  • 图标 2,自定义贴纸(在 options/Settings/Annotator/Stikers 中配置,会出现在表情列表中),有趣的功能;
  • 图标 3,内置的几个表情;
  • 图标 4,水印(在 options/Settings/Annotator/Watermark 中配置)。

最后,开源软件是可以不断进化的,取决于它处于什么样社区环境,ksnip 有一百多位贡献者,有理由相信能不断完善。更多功能,各位读者自行摸索,感谢阅读本文。

最后修改于: Monday, August 28, 2023
欢迎关注微信公众号,留言交流。

相关文章:

翻译: