1 个稳定版本
1.0.5 | 2021 年 9 月 15 日 |
---|
#466 in Unix API
30KB
683 行
hacksaw 允许您选择屏幕上的区域
(在 x11 上)
安装
依赖项
在安装之前,请确保已安装以下库(此列表不全面)
xcb-shape
xcb-xkb
在具有 apt
的系统上,您应该可以运行
apt install libxcb-shape0-dev libxcb-xkb-dev
一旦安装了依赖项
只需运行 cargo install hacksaw
从 crates.io 安装。
手动安装选项
克隆此仓库,cd
进入它,然后运行 cargo install --path .
Nixpkgs
hacksaw 在 NUR 下的 nexromancers
中作为 nur.repos.nexromancers.pkgs.hacksaw
。
示例
使用 shotgun 捕获选择/窗口的截图并将其复制到剪贴板
selection=$(hacksaw) # add hacksaw arguments inside as you wish
shotgun -g "$selection" - | xclip -t 'image/png' -selection clipboard
捕获选择/窗口的截图并将其保存到文件
selection=$(hacksaw) # add hacksaw arguments inside as you wish
shotgun -g "$selection" screenshot.png
使用 ffmpeg 记录屏幕区域
#!/bin/sh
#
# record - record an area of the screen
dir=~/medias/videos/records
current=$(date +%F_%H-%M-%S)
mkdir -p "$dir"
hacksaw -n | {
IFS=+x read -r w h x y
w=$((w + w % 2))
h=$((h + h % 2))
ffmpeg \
-v 16 \
-r 30 \
-f x11grab \
-s "${w}x${h}" \
-i ":0.0+$x,$y" \
-preset slow \
-c:v h264 \
-pix_fmt yuv420p \
-crf 20 \
"$dir/$current.mp4"
}
此外: 打开具有选定大小和形状的终端(在 bspwm 上)
特性
- 辅助线,在开始选择前检查精确位置并排列
- 就像 slop 的流行 Guides 着色器一样
- 首次按键时不会立即退出
- 在截图您的表情包时像专业人士一样继续输入
- (镶嵌wm专用) 即使在Hacksaw中,您仍然可以导航窗口。
- 使用任何鼠标按钮选择,而不仅仅是左键点击!
- 除了右键点击,那将取消操作。
- 通过滚动滚轮重新启动选择。
- 您可以自定义线的 颜色 和 宽度。
- 并且您可以分别自定义选择和辅助线的 宽度!
- 我提到它是用 RUST 编写的了吗?
- 轻量级且快速。
- 我没有实际运行过性能比较,以 slop 为例。
- 是雷神最喜欢的之一。
- 专为今天最先进和最前沿的平台 X11 构建。
稳定性
- 主要功能都齐全且相当稳定。
- 当弹出窗口打开时调用Hacksaw,您可能会遇到错误。
用法
USAGE:
hacksaw [FLAGS] [OPTIONS]
FLAGS:
-h, --help Prints help information
-n, --no-guides Disable fighter pilot guide lines
-V, --version Prints version information
OPTIONS:
-f, --format <format>
Output format. You can use:
%x for x-coordinate,
%y for y-coordinate,
%w for width,
%h for height,
%i for selected window id,
%g as a shorthand for %wx%h+%x+%y (X geometry),
%% for a literal '%'.
Other %-codes will cause an error. [default: %g]
-g, --guide-thickness <guide-thickness> Thickness of fighter pilot guide lines [default: 1]
-c, --colour <line-colour>
Hex colour of the lines (RGB or RGBA), '#' optional [default: #7f7f7f]
-r, --remove-decorations <remove-decorations>
Number of (nested) window manager frames to try and remove [default: 0]
-s, --select-thickness <select-thickness> Thickness of selection box lines [default: 1]
依赖项
~5.5MB
~105K SLoC