Arch-Linux
如何使用 i3 WM 在 Arch Linux 上輕鬆截取螢幕區域?
大約一個月前,我從 Ubuntu 14.04 LTS 切換到 Arch,我對這個決定非常滿意。但是,我錯過了我的新發行版的一些功能,尤其是
Shift
+printscr
在 Unity 中允許選擇要擷取的螢幕區域。我使用 i3 WM。所以,我的問題是:如何配置類似於 Unity 的螢幕截圖行為,以便能夠使用鍵盤快捷鍵或其他東西(無需深入了解視窗 ID 和控制台內容)來捕捉螢幕區域或視窗?
我已經很久沒有問這個問題了,看起來它對一些使用者有幫助。所以我提供了我自己的腳本來製作截圖
xclip
和imagemagick
包。首先,安裝上面提到的依賴項。然後你可以用下面的腳本做任何你想做的事情。它支持製作整個螢幕或螢幕區域的螢幕截圖,並且它會自動將螢幕截圖複製到剪貼板,以便您可以將其粘貼到任何地方(ei 瀏覽器或 Telegram messenger)。
一些不那麼難想出的技巧將增加對擷取特定視窗和切換複製部分的支持。
#!/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}
這是我
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/"
您可以使用
import
ImageMagick 的一部分。擷取一個區域
這會將您的游標變為十字準線,當您點擊並拖動以形成一個框時,該框將另存為
ss.png
.import ss.png
擷取整個顯示
import -window root ss.png
您還可以將單詞替換
root
為視窗 id 以擷取特定視窗。