2010年1月25日月曜日

頑張る小人は発展途上。WriteRoom用Automator

手に入れてから便利に使わせてもらっている、シンプルテキストエディタWriteRoom
以前、母艦エディタ miとの同期を初挑戦Automatorくんで自動化チャレンジしてウハウハなんて記事を書きました。

今回は、その時から牛歩進歩で頭打ちな同期用Automatorくんを恥ずか気もなく公開してみます。頂いたコメントをきっかけに見直しながら、やっぱり上手くいかない原因の解決策が頂戴できればなぁという思惑があったりなかったり^^;

まずはこちら。
現状のシンプルなAutomator










  1. WriteRoomのURL。ここではNEWを指定してあります
  2. 上記URLをSafariで表示させる
  3. ロード時間を見ています。サイトが表示されていないのに次のアクションを起こされても意味はないので、その為の一時停止処理
  4. WriteRoomに登録(保存)する部分をクリップボードへ送っているので、私にはこのアクションが必要
  5. 3に同じ
  6. どう頑張っても探しても、単純にペーストさせるアクションがAutomatorで実現できなかったので苦肉の策。Automatorで操作を記録させて後、それをAppleScriptに変更
  7. 6に同じ。ここでは、タイトル記入催促を自動化しています。これは、なんじゃこりゃ?な一行目タイトルでの保存防止が目的
Automatorくんの実行から完了まで7秒程度の気長作業。
回線状況によれば、これでも登録という文章のペースト作業(5のアクション)が空回りしますが、概ね上手くいってくれるので気にしない事にしていますけれど。
でもせっかくのAutomatorですもの。指定URLがロード完了しているか否かの把握まできちんとできなくちゃ意味がないと試行錯誤です。
※これは、有難くも公開されているロード監視の自動処理用サンプルスクリプト(Applescript)をいじくり中。でも上手くいかない! 知識が全く足りないので書かれている内容把握するので精一杯><

アレコレとAutomatorを作って煩雑作業が減っていく便利を実感する反面、実はできない事も結構多い。アクションに、ショートカットで頻繁に使う単純ペーストやコピーがないのが、一番の驚きでした。
日々何度も繰り返すコピー&ペースト部分も、最初はAutomatorの「操作を記録」アクションで誤摩化していました。
けれど、このアクションがクセモノ。
最初はきちんと作動していても、記録の保存から日が経てば失敗を繰り返すようになりました。
で、Automatorを修正する、また動く、日が経つ、動かなくなる、修正する……堂々巡り。
何故だろうと思い、例のごとく原因究明ネット探索で、Automatorの「操作を記録」とは文字通りマウスカーソルの動きを記憶しているだけらしいと知りました。
つまり、記録の保存時からウィンドウ位置を動かすとAutomatorが失敗するのは当り前の話だった、ようなのです。
その解決策に提示されていたのはShell ScriptやAppleScriptでの代行処理。でも私には書けませんし、探してみても、コピー&ペーストのスクリプトは単純作業すぎて見つけられませんでした。

その代わりに学んだのは、Automatorの「操作を記録」はApplescriptに変換できる事。












どういう仕組みなか、これなら操作を記録して以降のウィンドウ位置に神経質にならなくてもOK。⌘ + V などのショートカットがきちんと働いてくれます。


母艦エディタからWriteRoomへ新規登録する作業が、このAutomatorでは煩雑な事になっているのは気のせいではありません。
一番最初のAutomatorくんから比べれば、アクションは少なくなったんですけれど^^;
一時停止アクションをわざわざ分けてあるのも、当方の回線環境への対策。減すか、無くすかは、時間帯で繋がらなくなる状況が改善されなきゃいけません。

まだまだ完璧とは程遠いWriteRoom用Automatorくんではあるけれど、勢いで作った頃からみれば格段と扱い易くなっています。

後は、
  • ロード監視をどうにかする
  • 登録済みの文章をタイトルから見分けて上書きする、の検索機能付きAutomatorくんの精度を上げる
このふたつの難問が解決できれば、本当の意味でウハウハです。

0 コメント:

コメントを投稿