背景
以前以下の対応を行いましたが、
最後に書いてあるようにある程度ファイルは小さくなったもののクリップボード経由だとまだまだ大きく、結局スクリーンショットを保存したディレクトリから貼り付ける習慣になってしまいました。
しかしその場合以下の課題がありました。
そこで
を使って上記の課題を解決しました。
環境
- Yoink v3.6.83
- Alfred v5.0.3
- Irvel/screenshot-to-yoink
方法
前提
前提として以下があります。
- Yoinkを購入している
- AlfredのPowerpackを購入してworkflowが利用できる
デフォルトのスクリーンショットを切っておく
システム設定>キーボード>ショートカット
で既存のショートカットを外しておきます。
Alfred Workflow
以下のworkflowをインストールします。
GitHub - Irvel/screenshot-to-yoink: Alfred workflow for capturing screenshots into the Yoink app
環境変数を設定
このWorkflowでスクリーンショットを保存する際の環境変数を設定します。
変数 | 説明 |
---|---|
base_name | スクリーンショット名のprefix |
date_format | スクリーンショット名のsuffixにつける日付 |
extension | 拡張子 |
screenshot_alt_dir | 保存先 |
yoink_path | Yoinkのインストール先 |
設定例
ショートカットの設定
次にショートカットを設定します。
先程OFFにしたショートカットを割り当てます。
※あらかじめOFFにしておかないと、入力してもスクリーンショットを撮ろうとしてしまいます
動作確認
先程設定したショートカットからスクリーンショットを撮ると、即座にYoinkのシェルフスペースに置かれます。
これまで通りディレクトリにも保存されます。なのでもしもう一度使いたい場合はそこから利用します。
その他
PNGで保存されている?
imagemagicのidentifyで確認すると中身がPNGだったりします。
# identify xxx.jpg xxx.jpg PNG 1114x440 1114x440+0+0 8-bit sRGB 71678B 0.000u 0:00.002
そのせいなのか最近slackにアップロードすると実際の画像と拡張子の整合性が合わず以下のようにプレビューが表示されなくなりました。
この場合シェルスクリプトのscreencapture
にオプション-t jpg
を追加すると解決できます。
# Take the actual screenshot -capture_output = $(screencapture "${screencapture_flags}" "${screenshot_path}") +capture_output = $(screencapture "${screencapture_flags}" -t jpg "${screenshot_path}")
まとめ
Yoinkを連携することでスクリーンショットのファイルサイズを小さくしたまま、各所への貼り付けが容易になり格段に使いやすくなりました。