Lesson19.ホットキーツールを作成する/後続フローを二股にする
ワークフロー
KeyComboオブジェクトのサンプルを考えていました
例えば、選択中のテキストを⌘Cでクリップボードにコピーして、それをスクリプトで
ターミナルに送るみたいなイメージ
でも、KeyComboで⌘Cを送ってもクリップできないことがありました
アクティブなアプリケーションが違うのですかね
そこでHotkeyオブジェクトのSelection in macOSを利用することにしたら
けっこう思い通りに稼働するようになりました
試作したワークフローはHotkeyオブジェクトからTerminalCommandオブジェクトを
結ぶだけで完成です。ソースコードレスです。
実際の利用を考えると、ターミナルにコピペで利用するコマンドは、別途、保管する
ようなことが想定されるので、クリップボードに追加する部分をつけ足しました
CopyToClipboardオブジェクトです
さらに、たんなる思いつきですが、URLを選択している場合は、そのURLを開くように
したり、URLでも、コマンドでもないものは、ネット検索をするようにしてみました
ターミナルとは無関係になっちゃいましたね
選択テキストの判定はConditionalオブジェクトで制御しています
正規表現で、URLっぽいものは、OpenURLオブジェクトでオープン
英数字・記号・スペースの場合はTerminalCommandオブジェクトと、CopytoClipboard
オブジェクトで処理
それ以外はDefaultWebSearchで検索、という具合です
結果的にselecitonを{query}にして、内容に応じて処理を行うワークフローになりました
選択文字で処理を判断できるのであれば、ご自身がコピペなどでよく使う処理を追加
すると良いでしょう
文字選択+Hotkeyだけなので便利かも
シェルスクリプトを描くようになってターミナルを使うことも増えたので、思いつきました
コマンドのクリップからターミナルを立ち上げてペースト&実行がHOTKEYひとつでできる
ようになります
省力化というほどには大したことではないですが、ちょい便利かも
現在選択しているテキストを判断して、ターミナル実行、URLオープン、検索を実施する
1.Alfredworkflowをダウンロード
2.ファイルをダブルクリックしてワークフローに登録
テキストを選択してHotkey『⌘T』で起動
(Hotkeyはご自身で設定が必要です)
以下のサンプルを試してみてください
テキストを選択して、Quickterminalワークフローに設定したホットキーで起動させてみて!
1.カレンダー
cal -A 1 -B 1
2.お天気
curl wttr.in
3.花文字 (readはzshとbashで異なります。下記はzshです。ターミナルがzshになってました。。)
echo "What's your name? "; read name; banner -w 48 $name
4.吹き出しつきアスキーアート
まずはコマンドのインストール
brew install cowsay
その後で試してね(全部入り)
cowsay -l | grep -v "^Cow" | sed -e "s% %\n%g" | sed -e "s%\(.*\)%cowsay -f \1 Now I am a \1%" | sh
例えばこんな使い方
cowsay -f cheese はい!チーズ
5.超有名。ls打ち間違い時のジョークコマンド
まずはコマンドのインストール
brew install sl
その後で試してね(想像どおりかな)
sl -F
6.顔文字の雨
ruby -e 'C=`stty size`.scan(/\d+/)[1].to_i;S=[*0x1F600..0x1F640];a={};puts "\033[2J";loop{a[rand(C)]=0;a.each{|x,o|;a[x]+=1;print "\033[#{o};#{x}H \033[#{a[x]};#{x}H#{S.sample.chr("utf-8")} \033[0;0H"};$stdout.flush;sleep 0.2}'
7.日本語の読み上げ
Say -v Otoya '昔々、あるところに、お爺さんと お婆さんが 住んでいました。'
上記コマンドでOtoya君がいない場合に確認
say -v '?'
8.グールグル。googleのイースターエッグですが、safariではできないので、chrome指定で起動しています
open 'http://www.google.co.jp/search?q=%E4%B8%80%E5%9B%9E%E8%BB%A2' -a 'Google Chrome'
9.ストリートビューのURL(海底や空や宇宙にも行けちゃいます。ドーローン撮影ですかね)
https://www.google.com/maps/@33.9323743,136.2118284,3a,75y,61.24h,62.57t/data=!3m8!1e1!3m6!1sAF1QipPHR2Zdfn_8NiCu4TIgMjT4pzp4zgtYSXKeqsMK!2e10!3e11!6shttps:%2F%2Flh5.googleusercontent.com%2Fp%2FAF1QipPHR2Zdfn_8NiCu4TIgMjT4pzp4zgtYSXKeqsMK%3Dw203-h100-k-no-pi-0-ya17.522667-ro-0-fo100!7i4096!8i2048
10.幸福のグラフのURL
https://www.google.com/search?q=%28sqrt%28cos%28x%29%29*cos%28200*x%29%2Bsqrt%28abs%28x%29%29-0.5%29*%284-x*x%29%5E0.14&client=safari&rls=en&sxsrf=ALeKk02DCqeCk9WQqXqfyYnRCzi7z6HYcw%3A1616457541304&ei=RS9ZYNPyEcnXhwOh_JuADg&oq=%28sqrt%28cos%28x%29%29*cos%28200*x%29%2Bsqrt%28abs%28x%29%29-0.5%29*%284-x*x%29%5E0.14&gs_lcp=Cgdnd3Mtd2l6EAxQAFgAYLWlBGgBcAB4AIABSogBSpIBATGYAQCqAQdnd3Mtd2l6wAEB&sclient=gws-wiz&ved=0ahUKEwiTqazMjcXvAhXJ62EKHSH-BuAQ4dUDCAw
11.検索(サンプルを作るまでもないですが)
訳せない言葉
シェルスクリプトをbashからzshに変更しました