Home>History>

2008.05

2008-05-21

2008-05-21T20:09:15+09:00

FileClipper 2.1.1

クリップボードに参照があるファイルをコピー、移動、エイリアスファイル/シンボリックリンクの作成を行うアプリケーションです。Finder がクリップボードに入れるファイル参照を読み取りますので、コピー&ペーストの要領で自然な操作で扱えます。

2008-05-20

2008-05-20T20:35:09+09:00

QuickDMG 2.1.3

フォルダやファイルから手早くディスクイメージファイルを作るアプリケーションです。

Mac OS 9 互換のディスクイメージ(NDIF)を作れることをその特徴としていましたが・・・QuickDMG で作った NDIF ディスクイメージは、Mac OS 9 の Disk Copy マウントできませんでした。テストしていないことがバレバレですね。

問題は、ディスクイメージのファイルシステムとして HFS+ を使っていたこと。Mac OS 9 では、HFS でないとダメみたい。NDIF の場合は、常に HFS にするように変更を加えました。

秋本さん、誠にご連絡ありがとうございました。

2008-05-02

2008-05-02T23:40:40+09:00

undmg

まえまえから、ディスクイメージファイルを解凍する AppleScript を作りたいと思っていた。ようするに、ディスクイメージファイルをマウントして、その内容をコピーして、アンマウントするという処理をするスクリプト。他に作りたいものはあったし、そっちゅう欲しいと思う訳ではなかったので、ずっと手をつけずにいたけど、気分転換に作ってみようかと思った。

で、もしかして似たものを作っている人はいないかしら、と思って調べてみたところ、undmg というコマンドラインツールが fink の extractors というパッケージで提供されていることを知った。ちょっとした Perl スクリプトでした。というわけで、Finder で選択されているディスクイメージファイルを取得して、このコマンドをターミナルで実行する AppleScript を書くことにした。

ちなみに、なんで do shell script コマンドではなくターミナルでコマンドを実行するかというと、進行状況の表示とかエラー処理を AppleScript 側で面倒を見なくてもいいから。とくに、進行状況の表示とかって AppleScript だけだと頭が痛いよね。すぐ処理が終わるコマンドだったらいいけど、でっかいディスクイメージファイルを展開しようと思うと、do shell script だと途中経過が全く分かんなくなっちゃうから、とっても困る。

で、作ったスクリプトはこんな感じ。

property parent : proxy() of application (get "ModuleLoader")
property XFile : load("XFile")
property XList : load("XList")
property FinderSelection : load("FinderSelection")
property TerminalCommander : load("TerminalCommander")

on run
try
main()
on error msg number errno
if errno is not -128 then
activate
display alert msg message "Error Number : " & errno
end if
end try
end run

on main()
set a_picker to FinderSelection's make_for_file()'s set_extensions({".dmg"})
set a_list to a_picker's get_selection()
set com_list to make XList
repeat with an_item in a_list
set a_xfile to XFile's make_with(an_item)
com_list's push("cd " & a_xfile's parent_folder()'s posix_path()'s quoted form)
com_list's push("undmg " & a_xfile's item_name()'s quoted form)
end repeat
set undmg_command to com_list's as_unicode_with(return)
--log undmg_command
tell (TerminalCommander's make_with_title("* Inferior Terminal *"))
return do_command for undmg_command with activation
end tell
end main

こういう風に、ターミナルでコマンドを実行する AppleScript は腐るほどいろいろ作って使っています。

ところで、undmg コマンドには一つ不満点があった。どうも Mac OS X では、すべてのボリュームのトップレベルに .Trashes という不可視フォルダがあるのだけど、このフォルダもコピーされてしまう。Finder でディスクのコピーとかしても. Trashes フォルダはコピーされないのにね。というわけで、パッチを作って作者さんに送った(もし欲しい人がいたら連絡ください)。パッチが採用されるといいのだけど。

2008-05-02T10:57:46+09:00

MergePDF 1.8.2

たくさんの PDF/画像 ファイル(PDF だけでなく一般的な画像ファイルも)を一つの PDF ファイルに束ねるためのアプリケーションです。Adobe Acrobat(製品版)が必要です。

PDF/画像ファイルを束ねる際に、その順番が問題になると思いますが、フォルダの表示に従ってその順番を決定します。すなわちフォルダ内でファイルが見えている順番で束ねるので非常に直感的ですし、束ねる順番の変更も簡単です。

いまどき、PDF の結合は Automator でもできたりするけど、MergePDF を使うと、結合順の変更が簡単かつ直感的だしブックマークも自動的に作るし、PDF だけじゃなくて画像ファイルも PDF に結合できるよ。

たっかい Acrobat が必要なのが玉に傷。Leopard に移行すれば Acrobat とおさらばできるのは分かっているのだけど。