【Mac】ウィンドウキャプチャをショートカットで実行する

Macパソコンで、あるウィンドウのキャプチャを撮りたい場合、

「Command」+「Shift」+「4」+「スペース」+「Option」(影なし)+ クリック

このように、たくさんの「キー」を押さないといけません。

しかし、複数キャプチャをしたい場合などは、これでは面倒です。

もっと簡単にしたい!

ターミナル を使う

まず、キャプチャをシェルで実行させることはできないかやってみました。

screencapture -w -T 1 ~/Desktop/`date +%Y%m%d_%H%M%S`.png

このように書けば、キャプチャーを撮るたびに、その時の日時をファイル名に付けて保存することができます。

↓引数の意味は以下の通り

「-w」 は、ウィンドウのキャプチャする
「-T 1」 は、1秒後に撮影を実行する

Automator を使う

↓こちらのサイトを参考にして、Automatorでシェルを実行させるようにしました。

Mac OSXでシェルスクリプトをキーボードショートカットに登録する方法

Automatorを起動
・サービスを選択
・右ペインの上部、「次の選択項目を受け取ります」を入力なしにする
・左ペインからシェルスクリプトを実行をダブルクリック
・デフォルトでcatになっている内容を任意のシェルスクリプトにする
・右上の実行ボタンからテスト
・適当な名前をつけて保存して閉じる

workflowファイルの保存場所 →「ユーザ / 自分 / ライブラリ / Services /」

Automator の実行をESCキーを押したりした時に、エラーが表示される場合は、

システム環境設定 → セキュリティとプライバシー → アクセシビリティ → アプリ名

ここにある、 Automator のチェックを外す。とエラーがでなくなるかも!

再びショートカットを使う

・システム環境設定 > キーボードを開く
・キーボードショートカットのタブを選択
・サービスを選択してさっき保存したautomatorの名前をみつける
・好きなショートカットを設定する

例えば、ここで、command + 「K」とすると最初に設定されていた5つくらいの「キー」を押すよりも少ないショートカットで済みます。

キャプチャ画像の影をなくす

↓これが効かない

defaults write com.apple.screencapture disable-shadow -boolean true
killall SystemUIServer

↓ハイフン「-o」を追加でOK。

screencapture -w -o -T 1 ~/Desktop/`date +%Y%m%d_%H%M%S`.png

キャプチャ画像の範囲を指定する

-R<x,y,w,h> capture screen rect

$ screencapture -R1000,470,200,200 test.png