Apple ScriptをGPT-4にサクッとつくってもらった件 文字列を SendTerminal
なかなかとしっくりくるPythonの勉強用のIDE(統合開発環境)に出会わないので、まだPython勉強に辿り着いてません。
とりあえず、Macには apple scriptというのがあったことを思い出したので、テキストエディタでコピーしたものを、ショートカットキーでterminalに送って実行してもらうと便利だと思いました。
GPT-4にお願いして、作ってもらったコードは下記の通りです。
-- このスクリプトは、TextEditでアクティブなドキュメントからテキストをコピーして、
-- ターミナルにペーストして実行し、終わったらTextEditに戻ります。
tell application "TextEdit"
activate
tell application "System Events"
keystroke "c" using {command down}
end tell
end tell
delay 0.2 -- コピーを待つための小さな遅延
tell application "Terminal"
activate
-- 既存のウィンドウがあるかどうかを確認し、なければ新しいウィンドウを開きます。
if not (exists window 1) then
do script "" -- 新しいウィンドウを開きます
end if
-- コピーしたテキストをペーストして実行します。
do script (the clipboard as text) in window 1
end tell
-- TextEditにフォーカスを戻します。
tell application "TextEdit"
activate
end tell
あと、googleで検索したり、ChatGPTやClaudeと相談しつつ進めました。
lanchpadにあるAutomatorを開いて。
下記のクイックアクションを選択
ユーティリティから一番上のAppleScriptを実行を右の部分へドラッグ。
以下のパネルがでてくるので、そこにさっきのコードを貼り付け。
下の画面のコードはデフォで表示されている状態。
この画像の外の上部にあるオプションは以下を設定。
ワークフローが受け取る項目:テキスト
検索対象:テキストエディタ
「選択されたテキストを出力で置き換える」のチェックボックスをオフのまま
画像とカラーはデフォのまま。
texteditorとterminalを開いておいて、実行ボタンを押してテストしてみる。
問題なかったら、名前をつけて保存。
保存箇所はデフォルトで、以下の場所らしい。探すのに苦労しました。
あとはショートカットキーの割り当て、衝突するとPonとシステム音がなるので、衝突しないショートカットキーの割り当てをしないといけません。ここで音がなる理由を見つけるのに時間がかかりました。
私が決めたのコンビネーションは、Control + R です。
システムからキーボードを選択。キーボードの中のキーボードショートカットを選択。
上のようにサービスを選択して、右側のテキストを開いたら、追加できるショートカットがはいっています。私の場合、"SendTerminal" です。
これに、Ctrl +R を追加した状態が上の画像。
これで、テキストエディタで、文字列を選択して、Ctrl + R を押すと、文字列がterminalに送られて実行されます。そしてカーソルはテキストエディタにもどってきます。
これで、自分の勉学が進められるといいのですが。
この記事を最後までご覧いただき、ありがとうございます!もしも私の活動を応援していただけるなら、大変嬉しく思います。