今でも便利に使っているAppleScript集

ブログを始めた当初、カテゴリーのタグ付けがよく分かっていなかった。また、この後どんな話題について書いていくか、という想像力もなかった。だからこのブログのカテゴリー分けは、いい加減なのである。ところで、最近はAppleScriptの話題が多いのに、AppleScriptカテゴリーがないことに気付いた。そこで意を決して、過去の記事まで遡ってAppleScriptカテゴリーをタグ付けしてみた。(結構面倒だった)何とか終わって、AppleScriptタグをクリックしてみると、気持ち良く一覧表示された。

現在まで、全部で74記事ある。予想外に多い。記事の人気としてはどんな傾向があるのか、少し調べてみた。

ブックマーク数ランキング(ベスト10)

こんな感じであった。

      • ブックマークは変動するので、順位は若干変化しているかもしれない。

なるほど、なるほど。

  • それにしても、トップの458ブクマは異常。
  • なにゆえにこれ程の支持を受けたのか、謎。
  • 普通は支持されても、せいぜい数十ブクマだと思っているので、もはや祭りである。
  • タイトルが良かったのか、本当に需要があったのか、はてブの付き方は何年書いていても予測がつかない。

もはや手離せないスクリプト

ブログの中で紹介しているAppleScriptは、実際に自分が不便を感じて、その改善を目指して作ったものである。出来上がったら実際に自分のMacBookで使ってみる。実益を兼ねたAppleScriptなのである。
で、その後状況が変わって不要になったり、あまり役立たなかったものもあるが、今でも便利に使っている、もはや手離せないスクリプトも結構ある。ブクマ数とは関係なく、作者自身の満足度が高い一押しのAppleScriptをリストアップしてみた。

安全確実に自動ログイン

1Passwordにも負けない(実際には負けるのかもしれませんが)使い易さを目指して作った、あらゆるページでログイン情報の自動入力を可能にするAppleScript

  • そもそもは、金融機関のログインの煩雑さ(Safari標準の機能では自動ログインできない)に辟易して作り始めたスクリプト
  • テキストフィールドのみならず、ラジオボタンチェックボックス・ポップアップリスト(セレクトタグ)に対応して、広範な情報入力ページを一括入力できる。
  • このログイン情報はブックマークレットとして書き出すことも可能で、iPhoneiPadでもあらゆるページでログイン情報の自動入力の恩恵を受けられる。
  • セキュリティを考えて、aes-128-cbc形式で暗号化もしている。(ログイン情報を自動入力する時には、マスターパスワードの入力を求める)
あらゆるウィンドウのキー操作

あらゆるウィンドウの拡大・縮小・ハーフサイズ・最大化・移動・上下左右寄せ、等をキー操作で可能にするAppleScript

  • そもそもは、OSXになって、ウィンドウの最大化ができない状況が多々あることに嘆いて作り始めた。
  • Quicksilverでショートカットを割り当てることで、キー操作可能にしている。
良きに計らうクリップボード拡張

クリップボードを拡張して、複数のクリップボードを使い分けてコピー&ペースト可能にするAppleScript

  • そもそもは、クリップボード履歴管理ソフトでは、コピーする度にショートカットが変化してしまうことに不便を感じて作り始めたスクリプト
  • 例えば、control-1でコピーして、control-option-1でペーストする、ショートカットが変化しない普遍的なコピー履歴が欲しかった。
  • その後、特定の条件でコピーした場合には、特殊な形式でコピーするように改良した。
    • AppleScriptエディタで何も選択せずにコピーすると、シンタックスハイライトなHTMLがコピーされる。
    • Finderでファイルを選択してコピーした時には、UNIX形式のファイルパスとしてコピーされる。
    • Webブラウザで何も選択せずにコピーすると、そのページへのaタグのリンクとしてコピーされる。

この自分好みの状況に応じたコピーが、かなり便利だ!

  • 必要に応じて、自分でショートカットを選択する手間がなくなり、
  • 同時に増え過ぎたショートカットを一つにまとめることもできた。
スリープコントロール

自動スリープしてくれない状況と、モニタを閉じてしまうとスリープを解除できないという、相反する二つの状況を解消したかった。

最高のゴミ箱環境

OSXのゴミ箱に不足していると思われる、一部だけ削除する機能と、削除日順に管理する機能を追加するAppleScript

  • ゴミ箱はすぐに空にするのではなく、不要ファイルの長期的なストック場所と考え運用する。そのため、以下の機能を追加した。
    • 選択アイテムのみ一部だけ削除する(空にする)機能。
    • ゴミ箱に捨ててから一定時間以上経過したファイルを削除する機能。
便利過ぎるテキスト操作

テキストの選択範囲広げたり、狭めたり、括弧で囲ったりと、テキスト編集時の小技を素早く完了させるAppleScriptAutomatorも活用することで、サービスメニューとして登録することで、右クリック(二本指クリック・control-クリック)で素早く指定できる。

OSXでは、OSが標準で備えるキー操作に連動したテキスト編集アクションを、キーバインドの設定として自分好みに再設定できる。

  • AppleScriptAutomatorでは、それが実行されるまでに若干のタイムラグが発生する。(テキスト編集中には、その時間差にイライラすることもある)
  • キーバインドの設定であれば、全くタイムラグを感じない軽快なテキスト編集操作が可能になる。
スクロールバー付きSpotlight対応なスティッキーズ

日本語MacOS漢字Talkと呼ばれていた頃から標準添付されてきたスティッキーズに、スクロールバーを付け、Spotlightにも対応させる。

  • 自分が知る限り、オートセーブ機能を搭載した最古のソフトウェア。
  • 最新のOSX 10.7 Lionのオートセーブの原点はここなのではないか?
  • 手軽に確実にメモを残すという目的に特化したシンプルさが、息の長いソフトウェアとなった要因かもしれない。
メモリ解放

4GBでも不足しつつあるMacBookのメモリ。その未使用領域をなるべく解放するAppleScript

  • OSXよ、お前はどれだけメモリを浪費するのか?
  • OSX曰く、浪費ではない、次回アクセスに備えているだけだ。

いろいろ試してみたが、最近のメモリ価格の低下を見ると、増設する方が良さそう。(当然だが、一番効果がある)

  • 但し、たとえ8GBに増設したとしても、メモリが上手く解放されずスワップが発生することはあるようだ。
  • そんな場合に備えて、メモリ解放の手段を覚えておくと、後々役立つかもしれない。
コメント付きTimeMachine

TimeMachineでバックアップ前にインストールログを書き出し、バックアップのコメントの代わりにするAppleScript

  • TimeMachineは便利なのだが、日時でしか復元時点を検索できない。
  • しかしそれでは、いつの時点の過去に戻るべきかさえ、分からないこともある。(いつでも過去にでも戻れます、と謳うのは良いが)
  • そこで、インストールログをコメントファイルとすることで、戻るべき過去を特定し易くするのだ。
ルールで賢くする

Mail.appのルール駆動でAppleScriptを起動して作業をするサンプル。

  • 宅配便の照会ページを開くルールは今でも使っている。
    • 配送伝票番号の書式を認識して、メールが着信すると照会ページを自動で開くのだ!
  • saykanjiがメールを読み上げるルールは、夜中に呪文のような独り言が聞こえてきて、不気味なのでやめた。
StationTVと画面共有

StationTVの起動を邪魔をすることがないように画面共有サービスを終了し、StationTVを終了したら画面共有サービスを復元するAppleScript

  • 著作権がらみの仕様なのか、画面共有サービス、スクリーンショット系アプリ(EvernoteもNG)が起動していると、StationTVを起動できないという、制限がある。
  • 地デジの映像に一体どれほどの権限があるというのだ?EvernoteさえNGとするこの制限は、いつ、どこで、誰が決めたものなのか?
  • もっと自由に映像を見たい!5年後、10年後、スカイツリーは完成したが、視聴率数パーセントしかない電波とならないことを祈る!
ヘッドフォンの音量

MacBookを再起動した時、ヘッドフォンが最大音量にリセットされ、痛い目に遭うのを防止する。

壁紙カレンダー

三階ラボさんの壁紙カレンダーを便利に使うためのAppleScript

  • 壁紙カレンダーを自動的に切り替える、今日の日付のマス目にアイコンを移動する、等々。
購読者チェック

googleリーダーlivedoorリーダー・Fastladderの購読者数をログに記録するAppleScript

たまに使うと便利を感じるスクリプト

テキストエディットの余白

印刷すると常に余白あり過ぎなテキストエディットの余白を自在にコントロールするAppleScript

PDF圧縮

古いスキャナで取り込んだPDFを、iPhoneiPadでも軽快に閲覧できるサイズに圧縮する。

Exif情報削除

JPEGファイルに付加される様々な撮影情報を削除するAppleScript

  • GPSの位置情報など、不要な個人情報が公開されないようにする目的で作った。
読み合わせ

saykanjiを活用して、銀行振込データの読み合わせに挑戦してみた。(saykanjiが読み上げ、自分が聞いてチェック)

ファストユーザスイッチ

ショートカットでファストユーザースイッチするAppleScript

利用環境

所感

  • AppleScriptは、アプリケーションやOS・スクリプト言語を連携させる能力に長けている。
    • 連携させることで、面倒な操作を一瞬で完了できたり、
    • 普段、GUIからは操作できない機能を呼び出せたり、
    • イベントを監視して作業を完全に自動化したり、
  • ...等々、ユーザーの操作をコーディングすることで、便利な作業環境を構築できるのだ。
  • 自ら作って、使って、さらに使い易さを求めて修正したスクリプトは、そのユーザーにとっては最高のツールとなる。
  • そして、最高のツールがいくつか集まって、次第に最高の作業環境となるのだ。