ユニバーサルパレットをスクリプトメニューで代用

  • 投稿日:
  • by
  • カテゴリ:

以前ユニバーサルパレットのAppleScriptを自作して、 使いたい機能をつけた(他から借りて移植した)という記事を書いた。 これは、egbridve Universalのユニバーサルパレットをカスタマイズすることで、 ブラウザのtextarea上であっても、タグで囲んだりといった文字の編集を、 ボタン一つで手軽にできるようになる、というものだ。
egblidge Universalの使い方 (うむらうす)
egblidge Universalの使い方 2 (うむらうす)
egbridge Universalの使い方 3 (うむらうす)

これは確かに便利で、私はとてもよく活用している。 しかしこの便利さを享受できるのはegbridge Universalユーザーだけであり、 汎用性がなかった。 そこで、ユニバーサルパレットのAppleScriptでやっている機能を、 汎用性の高いスクリプトメニューから実行できないだろうか?と試してみた。

色々調べてみた結果、以下のような結論に達した。

結論:ムリ。

理由:ユニバーサルパレットでAppleScriptを走らせると便利なのは、 IMと連動していることで、どのアプリケーションに対しても 文字列を操作できることが重要だった。

一方AppleScript単体では「tell application ""」の縛りをまぬがれず、 対象となるアプリケーションを指定してやらなければならない。 つまり、ブラウザ上、エディタ上、メモアプリ上など、 どれに対しても一つのscriptで対応するということはできないようなのだ。

この問題を回避する方法として、入力したい文字列はクリップボードにコピーするに留めて、 各アプリケーションに対するペーストは自分でやってね、という方法がある。 しかし、これでは当然各アプリケーションからの文字列の取得や、文字列の編集はできない。

これがTravellers Taleさんでもクリップボードに入れるに留めている理由なのだと思う。

結局、ユニバーサルパレットによって、IMとAppleScriptが組み合わされているというのはかなり強力な組み合わせなのであった。 ということは、AppleScriptでことえりを操作できればいいのだろうか?

やっぱりエディタは物を書きやすいですわ。 ブラウザはものを見るもの。書くのはエディタ。


まとめ

  • ユニバーサルパレットでやっていることをスクリプトメニューで代用しようとしたが、できなさそうだった
  • 対象アプリが決まっている動作はスクリプトメニューからで良いのだが、 様々なアプリ上の文字列に対する操作ができることが、ユニバーサルパレットの強み(だと思う)
  • エディターでサイトを更新している人(HTML直打ちの人だけでなく、 blogなどでブラウザ上のtextareaに書き込みをしている人)にとって、 ユニバーサルパレットによる「IM+AppleScrit」という組み合わせはかなり強力である

と言っても、私が知らないだけかもしれないので、 いいやり方を知っている方のタレこみは募集中。