私は約1ヶ月前にUbuntu 14.04 LTSからArchに切り替え、その決定に非常に満足しています。しかし、新しいリリースの一部の機能、特にキャプチャする画面領域を選択できるUnityのShift+機能が欠けています。printscr
i3 WMを使用しています。だから私の質問は:キーボードショートカットなどを使用して画面領域やウィンドウをキャプチャできるように(ウィンドウIDやコンソールコンテンツを詳しく調べる必要なしに)Unityなどのスクリーンショットの動作をどのように設定しますか?
答え1
ImageMagickの一部を使用できますimport
。
地域を捉える
カーソルが十字線に変わり、クリックしてドラッグしてボックスを作成すると、ボックスがとして保存されますss.png
。
import ss.png
フルディスプレイキャプチャ
import -window root ss.png
root
特定のウィンドウをキャプチャするために、単語をウィンドウIDに置き換えることもできます。
答え2
久しぶりにこの質問をしましたが、一部のユーザーには役に立つようです。したがってxclip
、パッケージを使用してimagemagick
スクリーンショットを作成するための独自のスクリプトを提供しました。
まず、上記の依存関係をインストールします。その後、以下のスクリプトを使用して目的の操作を実行できます。フルスクリーンまたはスクリーン領域のスクリーンショットの作成をサポートし、自動的にスクリーンショットをクリップボードにコピーしてどこにでも貼り付けることができます(eiブラウザまたはテレグラムメッセンジャー)。
それほど難しくないいくつかのトリックは、特定のウィンドウのキャプチャとコピーされたセクション切り替えのサポートを追加します。
#!/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/"
答え3
火災射撃良い選択です。
bindsym Print exec flameshot full
bindsym Shift+Print exec flameshot gui
オプションを使用して、-p /path/to/directory
保存ディレクトリの選択をスキップできます。
ここで設定を編集し、設定の再~/.config/i3/config
読み込みを使用できますi3-msg reload
。
答え4
まず、xclip、imagemagick、jqをインストールしてください!
pacman -S imagemagick jq xclip
私の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
mod(Window / Alt)+ Printscreenを押すと、アクティブウィンドウのスクリーンショットがクリップボードに保存されます。
i3-msg -t get-tree は i3 のすべてのウィンドウを json にインポートし、jq を使用してフォーカスされたウィンドウのウィンドウ ID を取得します。これをimagemagicks importコマンドに渡し、結果をxclipにリンクするとクリップボードに保存されます。