2011年1月1日土曜日

プレビュー.app・ウィンドウの位置と大きさをAutomater+AppleScriptで制御する

タイトルだけむやみに長いなあ。

OSXはやっぱりWinと使い勝手が違っていて、ウィンドウの位置や大きさはWinの場合たいていのアプリでちゃんと記録して次回起動時に再現している。OSXはアプリ任せ(いやWinもアプリ任せだが)で、制御していないアプリもある、ということが身にしみた。ウィンドウの位置くらいはアプリ側でちゃんと覚えていてもいいような気がするんだけどなあ、大して手間のかかることでもないし。

iMac27inchだとカーソルを移動させる手間がけっこうかかる。画面が広いのはとってもとってもとってもいいのだけれど。

defaultsでウィンドウ制御ができそうにないので、ググって調べていくうちにAppleScript使えば簡単なのがわかった。

行きがかり上、rspec本を開いて表示するところまでAutomaterでやってみたが、全部をAplleScriptで書いたほうがはるかに早く、実行ファイルのサイズも小さくできるだろう。これは明日以降だな。

いやAutomaterっておもしろい。レゴとか「電子ブロック」を思い起こさせる。既存の部品を組み合わせてプログラミングする、というイメージ。

やりたいこと
rspec本をプレビュー.appで開いて表示する。
見やすい位置に見やすい大きさでウィンドウを配置する。
以上。
実験その1 Automaterの「記録」
AutomaterはExcelの「マクロを記録」のように、マウスやキーボードの入力をそのまま記録してくれる機能があります。

「やりたいこと」を「記録」した結果が次の画像。


これで十分かな、とも思えるわけですが、いちいちDockの「書類」フォルダを開く動作もそのまま再現されるので若干キモい、と。(^^;)

そこでもう少しAutomaterっぽくやってみる。

Workflowで実現
で、Workflowを組み合わせ、ウィンドウ制御はよくあるAppleScriptでやってみたのが次の画像であります。


フォルダ名があまりにも実名すぎるので若干編集しております。(^^;)
Finderの項目をプレビュー.appで開く、ウィンドウを制御する、というだけ。実行するとrspec本が表示されて、それからAppleScript部分が実行されて位置と大きさが変更されるので若干不自然な表示のされ方になりますが、「やりたいこと」はまあ実現できてます。

問題はたったこれだけのことを実現するのに400Kバイト超かかっていることですね。.appにするように作成すると、まともな.appと同じフォルダ構成になってリソースもi18n化されるようです。やっぱこれ、AppleScriptだけにしないと無駄すぎる。

0 件のコメント:

コメントを投稿