2008.04
2008-04-20
2008-04-20T00:00:53+09:00
FrontAccess 1.0
Open in Terminal や Rename It のように、最前面のアプリケーションで開かれている書類を取得して処理を行うスクリプトの開発を支援するモジュールです。
ファイルに対して処理を行うスクリプトであれば、アプリケーションに依存しないスクリプトを作れるようになります。アプリケーションごとに似たようなスクリプトを作らなくていいし、複数のアプリケーションに割ったて統一的な処理を提供できるようになるので、とってもエレガント・・・と思っています。
2008-04-18
2008-04-18T16:40:40+09:00
Rename It 1.0
前面のアプリケーションで開いているファイルの名前を変更する AppleScript です。Finder が最前面のアプリケーションの場合は Finder で選択されている項目の名前を変更します。
ファイル名は重要です。内容を表す名前にしておかないとと後で見つけるのが大変になってしまいます。検索する際にも不便です。たとえば、何らかのファイルを編集していて、ファイル名を変更したくなったとしましょう。すると、
- ファイルを保存
- ファイルを閉じる
- Finder でファイル名を変更
- 再度、開く
という手順を踏むかと思いますが、めんどくさいですね。Rename It はこのプロセスを自動化します。
前面のアプリケーションを取得する必要があるので、Rename It はバックグラウンドで実行する必要があります。例えば次のような方法があります。
- スクリプトメニューから実行する。
- Quicksilver から実行する。
- DragThing などで、スクリプトの実行にショートカットキーを割り当てる。
その他のランチャーユーティリティでも対応できると思います。
2008-04-11
2008-04-11T19:11:54+09:00
Show Project in Terminal (XCode) と ターミナルを表示 (mi) を Graveyard に移した。
それぞれ、XCode と mi で開いているファイルがあるフォルダを working directory としたターミナルを開く AppleScript です。
いずれも、不要になった。Open in Terminal 一本でいずれも対応できるからね。Open in Terminal はアプリケーションに依存せず、最前面のコンテキストに対応した working directory のターミナルを開く AppleScript です。どういうことかというと、例えば、ファイルを開いているアプリケーションが前面にあったらその開いているファイルのフォルダを working directory として、Finder が前面にあれば、Finder で選択されている場所を working directory としてターミナルを開きます。
このように、現在のコンテキストを判断して動作するスクリプトをこれからいくつか公開するつもり。そして、前面のコンテキストの取得をサポートするモジュールも公開準備を進めています。アプリケーションごとに似たような動作をするアプリケーションを作るのは、できれば避けたいからね。
2008-04-08
2008-04-08T08:50:28+09:00
ターミナルでのシェルコマンドの実行を支援する AppleScript モジュールです。以下のような、複雑な処理を行いたいときにこのスクリプトはお役に立てるでしょう。
- ターミナルウィンドウを追跡して、同じターミナルで何度もシェルコマンドを実行したい。
- シェルコマンドの終了を待ってから、次の処理に移りたい。
- シェルコマンドを実行するターミナルのシェルを指定したい。
- ターミナルウィンドウの、色の設定、タイトルの設定、文字エンコードの設定を指定したい。
2008-04-08T01:30:35+09:00
DefaultsChanger 1.0
DefaultsChanger は User Defaults の値を一時的に変更するモジュールです。
User Defaults はご存知のとおり、アプリケーションの設定値のデータベースです。スクリプティングの都合上、一時的にでもアプリケーションの設定ファイルを書き換えたいことはまれにあるかと思います。例えば、Mac OS X 10.4 までのターミナル.appでは、AppleScript のインターフェースが用意されておらず、User Defaults の変更でしかカスタマイズできない設定項目がたくさんあります。そんなとき、DefaultsChanger が役に立ちます。
DefaultsChanger を経由して変更したとき、DefaultsChanger は変更前の値を記録しており、revert メソッド一発ですべて元に戻すことができます。
2008-04-07
2008-04-07T15:14:35+09:00
AppleScriptDoc 1.1.2
ライブラリ/モジュールとしての AppleScript のリファレンスマニュアルを生成するアプリケーションです。
ソースコードにかかれたコメントから、スクリプトのリファレンスマニュアルを HTML として出力します。バンドル形式のスクリプトの場合、バンドル内に(ヘルブビューアに表示する) Help Book としてリファレンスマニュアルをセットアップできます。
構文解析や HTML の生成など、全部 AppleScript でやっています。ささやかなアプリケーションかもしれないけど、AppleScript アプリケーションとしては、世界最大級じゃないかと思う。
力作などで、どうが誰か使ってみてください。
2008-04-05
2008-04-05T12:41:55+09:00
PowerRenamer 2.2.1
たくさんのファイルの名前を一度に変更するアプリケーションです。あるパターンにマッチしたファイル名の一部を、別の文字列に置き換える事ができます。
早速、バグ修正。
2008-04-05T11:09:56+09:00
FinderSelection 2.0.3
Finder で選択されている物から条件にあったファイル/フォルダを取得するライブラリ/モジュールです。
AppleScript をスクリプトメニューや何らかのランチャーから起動して、Finderで選択されている物を取得して処理を行う・・・よくある AppleScript だと思います。FinderSelection はエラー処理を含めて気の利いた処理をほんの数行で実現できます。
2008-04-05T02:00:00+09:00
PowerRenamer 2.2
たくさんのファイルの名前を一度に変更するアプリケーションです。あるパターンにマッチしたファイル名の一部を、別の文字列に置き換える事ができます。
Finder で選択されているファイルやフォルダに対して実行されるので、直感的かつすばやく操作する事ができると思います。
正規表現も使えますので、複雑な処理にも対応できます。
検索文字列を空欄にしていると、ファイル名を置き換えてしまう(本当は、先頭/末尾への追加として動作するはずだった)というとんでもないバグを長らく放置してしまったようだ。もし、被害にあった人がいたら申し訳ない。
2008-04-02
2008-04-02T12:28:35+09:00
Fink で日本語 man
Fink を使っていて、ずっと不便に思っていたのが、dpkg コマンドの man ページが読めないこと。たぶん、原因は・・・
- man コマンドは、ロケールが ja_JP.UTF8 (みんなそうしているでしょ?)だと、(用意されていれば)ローカライズされた man ページを表示しようとする。
- でも、groff は日本語に対応していない。
- しかも、dpkg の日本語 man ページのエンコーディングは EUC みたい。
という訳で、man dpkg としても何にも表示されない。
というわけで、日本語 man ページを読めるようにすべく、Fink から jgroff 導入を試みたけど・・・jgroff-1.18.1.1-1005 がコンパイルできないじゃんというわけで、バグ報告したら、次の日に jgroff-1.18.1.1-1006 に更新されていた。すばらしい対応だ!!東大 FInk チーム 様 !!
ちなみに、Fink を使って、日本語 man ページを読めるようにするには、以下の 3つのパッケージと少々の設定が必要になる。
- jgroff
- 日本語対応のフォーマッタ
- man
- フォーマッタとして、groff ではなく、jgroff を使ってくれる。
- lv
- 多言語対応ページャ。EUC のエンコーディングのデータでもロケールに合わせてエンコーディングを変換して表示してくれる。
- less の代わりに使う為、環境変数 MANPATH に設定する。export MANPATH=lv
日本語 man ページを読めるようにしても、結局はほとんど英語だし、まあそれでいいと思っているから、ご利益のほどは微妙かも。