by shigemk2

当面は技術的なことしか書かない

シェルスクリプトを.appに変換して実行さす

存外に難しい。
やってることはappletをシェルスクリプトに変えるだけなんだけど。

MacOSX - 2ステップでシェルスクリプトをOS Xアプリケーションに - Qiita [キータ]
404 Not Found

1. /Applicationsディレクトリでosacompileを実行し、.app作成に必要なディレクトリを作成する

echo | osacompile -o hatebgrowl.app

とすると、以下のような構成のディレクトリが作成される

hatebgrowl.app
└── Contents
    ├── Info.plist
    ├── MacOS
    │   └── applet(Info.plist によって呼ばれる実行ファイル)
    ├── PkgInfo
    └── Resources
        ├── Scripts
        │   └── main.scpt(本来 applet によって呼ばれる AppleScript)
        ├── applet.icns
        └── applet.rsrc

2. appletをシェルスクリプトに書き換える。

#! /bin/zsh
/usr/bin/perl /Users/shige/bin/hatena.pl http://d.hatena.ne.jp/shigemk2/ | xargs /usr/local/bin/growlnotify -t 'はてブ数' --image /Users/shige/Pictures/hatena.tiff

3. tiffファイルをicnsファイルに変換し、Resoucesディレクトリに突っ込む

$ tiff2icns hatena.tiff hatena.icns

で、これでどうなるかというと、hatena.appを実行すると僕のブログにあつまっているはてブ数がgrowlで表示される。

どうしようか。これGitHubに公開してもなあ、という気分ですが、時間があったらやります。

追記

とりあえずGitHubに公開しました。
shigemk2/hatebgrowl.app · GitHub