ddn*_*mad 36 arch-linux screenshot i3
大约一个月前,我从 Ubuntu 14.04 LTS 切换到 Arch,我对这个决定非常满意。但是,我想念我的新发行版的一些功能,尤其是Shift+ printscr,它在 Unity 中允许选择要捕获的屏幕区域。
我使用 i3 WM。所以,我的问题是:如何配置类似 Unity 的屏幕截图行为,以便能够使用键盘快捷键或其他东西(无需深入研究窗口 ID 和控制台内容)来捕捉屏幕区域或窗口?
cas*_*sey 41
您可以使用importImageMagick 的一部分。
捕获一个区域
这会将您的光标更改为十字准线,当您单击并拖动以形成一个框时,该框将保存为ss.png.
import ss.png
Run Code Online (Sandbox Code Playgroud)
捕获整个显示
import -window root ss.png
Run Code Online (Sandbox Code Playgroud)
您还可以root用窗口 id替换单词以捕获特定窗口。
ddn*_*mad 15
我已经很久没有问这个问题了,看起来它对某些用户有帮助。所以我提供了我自己的脚本来使用xclip和imagemagick包制作屏幕截图。
首先,安装上面提到的依赖项。然后你可以用下面的脚本做任何你想做的事情。它支持制作整个屏幕或屏幕区域的屏幕截图,并且它会自动将屏幕截图复制到剪贴板,以便您可以将其粘贴到任何地方(ei 浏览器或 Telegram 信使)。
一些不太难提出的 hacks 会增加对捕获特定窗口和切换复制部分的支持。
#!/usr/bin/env bash
# screenshots stuff
# TODO: docs
function help_and_exit {
if [ -n "${1}" ]; then
echo "${1}"
fi
cat <<-EOF
Usage: scregcp [-h|-s] [<screenshots_base_folder>]
Take screenshot of a whole screen or a specified region,
save it to a specified folder (current folder is default)
and copy it to a clipboard.
-h - print help and exit
-s - take a screenshot of a screen region
EOF
if [ -n "${1}" ]; then
exit 1
fi
exit 0
}
if [ "${1}" == '-h' ]; then
help_and_exit
elif [ "${1:0:1}" == '-' ]; then
if [ "${1}" != '-s' ]; then
help_and_exit "error: unknown option ${1}"
fi
base_folder="${2}"
else
base_folder="${1}"
params="-window root"
fi
file_path=${base_folder}$( date '+%Y-%m-%d_%H-%M-%S' )_screenshot.png
import ${params} ${file_path}
xclip -selection clipboard -target image/png -i < ${file_path}
Run Code Online (Sandbox Code Playgroud)
这是我i3wm使用此脚本的参考快捷方式:
# take a screenshot of a screen region and copy it to a clipboard
bindsym --release Shift+Print exec "scregcp -s /home/ddnomad/pictures/screenshots/"
# take a screenshot of a whole window and copy it to a clipboard
bindsym --release Print exec "scregcp /home/ddnomad/pictures/screenshots/"
Run Code Online (Sandbox Code Playgroud)
Rap*_*ael 14
Flameshot是一个不错的选择。
bindsym Print exec flameshot full
bindsym Shift+Print exec flameshot gui
Run Code Online (Sandbox Code Playgroud)
您可以使用选项-p /path/to/directory跳过选择保存目录。
小智 8
您是否尝试过scrot一个简单的命令行屏幕捕获实用程序
参考,:https : //faq.i3wm.org/question/202/what-do-you-guys-use-for-printscreen/
小智 6
首先,安装 xclip、imagemagick 和 jq!
pacman -S imagemagick jq xclip
Run Code Online (Sandbox Code Playgroud)
我的 i3 配置中有这一行:
bindsym $mod+Print exec \
import -window $( \
i3-msg -t get_tree | \
jq 'recurse(.nodes[]) | select(.focused).window' \
) png:- | \
xclip -selection clipboard -t image/png
Run Code Online (Sandbox Code Playgroud)
当您按 mod (Window / Alt) + Printscreen 时,这会将活动窗口的屏幕截图放在剪贴板上。
i3-msg -t get-tree 从 i3 中获取所有窗口作为 json,然后我们使用 jq 获取聚焦窗口的窗口 id。我们将它传递给 imagemagicks 导入命令,并将结果通过管道传递给 xclip,xclip 将把它放在剪贴板上!
| 归档时间: |
|
| 查看次数: |
43801 次 |
| 最近记录: |