👾

Alfred ✖️ Floatingを使ってChatGPTをウィンドウ間で持ち回る

2023/07/09に公開

先日、AlfredとFloatingを使ったワークフローを組んだところ、ChatGPTが使いやすくなったので、そのワークフローを共有します。

完成系

今回紹介するワークフローは、Alfredの検索窓に "gpt" と入力すると固定ウィンドウとしてChatGPTが開く、というシンプルなものです。

イメージはこちらになります。

AWSの勉強をしている時に「動画を見たり、ブラウザで調べごとをしながらChatGPTを使いたい」というケースが多々あり、そんな時に "簡単に固定ウィンドウで常にトップにChatGPTを置くことができればなぁ" と思いワークフローにしました。

固定ウィンドウでの表示自体は、Floatingというアプリ単体でできるのですが、ショートカットを覚えたり、ページを開く手間などが面倒だったためワークフローにしています。

Alfredとは

Macユーザー御用達のランチャーアプリです。
説明するまでもないでしょう。

https://www.alfredapp.com/

Floatingとは

Floatingは、Webページや画像等を固定ウィンドウとして画面上に浮遊させることができるアプリです。
こちらのアプリを使用することで、ChatGPTを画面トップに配置することを実現しています。
今回の内容であれば無料版でも差し支えありません。

今まで使い道があまり見つからず困っていたのですが、今後はぼちぼち使うことになりそうです。

https://apps.apple.com/jp/app/floating-picture-in-picture/id1508833245

ワークフロー

ワークフローの中身自体は下記のようになっており、かなりシンプルな構成となっています。

実際の処理は下に示す通りです。

  1. 変数にクリップボードの既存値を代入する
  2. クリップボードに https://chat.openai.com を代入する
  3. Cmd-Shift-Ctl-0 の入力を送る
  4. 少し待つ
  5. 1で保存していた値を再度クリップボードに代入する

また、ワークフローは下記の要件を考慮しています。

  • ワークフロー実行前後でクリップボードの値が変更されていないこと

雑に言うと ""クリップボードにChatGPTのURLを持たせて、Floatingのショートカットを入力しているだけ"" です。

ハマったところ

ワークフローを作るにあたって、少しだけハマったところがあったので、それも書いておきます。

Alfredのワークフローには、「Dispatch Key Combo」というコンポーネントが存在しており、こちらを使用することで特定のキー入力を実行できるのですが、今回のワークフローだと何故かそれが機能しませんでした。

色々調査したところ、「Dispatch Key Combo」を使って Cmd-Shift-Ctl-0 を入力させると、どうやらこの時テンキーの 0 を入力しているということがわかりました。

一方で、Floatingのショートカットは、テンキーではなくキーボード上部に配置されている数字の入力を期待しているらしく、そのズレによって「Dispatch Key Combo」ではショートカット入力の代行ができない、という問題が起きていたようです。

そのため、ワークフローでは「Dispatch Key Combo」を使用することをやめ、代わりにAppleScriptを使って、キーボード上部の 0 をキーコードで指定するようにしています。

tell application "System Events"
    key code 29 using {command down, control down, shift down}
end tell

あとがき

もともとFloatingのショートカットを覚えるのが面倒という理由でワークフローを組んだ節があるのですが、同じ発想で「覚えづらいショートカットを全てAlfredのキーワードに寄せる」と言う使い方って結構ありなんじゃないかと思い始めてきました。

「便利ではあるけど、毎回ショートカット忘れる」みたいな処理があるかどうか、ちょっと模索してみようと思います。

また、今回はChatGPTを開くワークフローを作ったのですが、Notionで同じことをやっても便利そうだなと思ったので、こちらも別途試してみようと思います。
ワークフローとしては、クリップボードに代入するURLを変更するだけでいいので、気になった方はこちらも試してみてください。僕も試します。

Discussion