Mac OS X Leopard 上でコンピュータと対戦できる将棋ソフト (X11ベースの アプリケーション xshogi をバンドルしたアプリケーション。)
xshogi.app [ http://kyoshiaki.sakura.ne.jp/osx/leopard.html ]
を公開します。
キーワード ‘mac 将棋’ で検索してくる人が結構多いので、需要があるかもしれないと思い作成しました。
話は変わりますが、以前は
GIMP.app http://gimp-app.sourceforge.net/
からダウンロードした Gimp を利用していたのですが、Leopard には対応していないようです。
それで VMware 上に Ubuntu をインストールし、Ubuntu 上の Gimp を使用していました。 (VMware Tools をインストールすれば、ファイルのドラッグ・ドロップにも対応しています。)
Wilber loves Apple http://www.wilber-loves-apple.org/ Download http://www.wilber-loves-apple.org/pages/download.html
で見つけました。早速、インストールして利用しています。
ソースを
SourceForge.net: Wilber loves Apple http://sourceforge.net/projects/darwingimp
の中央の ‘code’ タブをクリックして表示されている説明通りに、ターミナル上でコマンド
svn co https://darwingimp.svn.sourceforge.net/svnroot/darwingimp darwingimp
を使ってダウンロードしました。
GIMP.app http://gimp-app.sourceforge.net/
で説明されているビルド方法と基本的に同じなので、 Leopard に対応した xshogi.app を作成してみました。
以前は gimp.app/Contents/Resources/script ファイル内でコマンド open-x11 を使って The X Window System を起動していたのですが、
今回は ScriptExec 内で起動しているようです。
プロジェクトファイル ScriptExec.xcodeproj の main.c
170行目 // compile "icon clicked" script so it's ready to execute SimpleCompileAppleScript("tell application \"X11\" to activate"); 507行目 static OSStatus CompileAppleScript(const void* text, long textLength, AEDesc *resultData) { 533行目 /* runs the compiled applescript */ static void runScript() { /* run the script */ err = OSAExecute(theComponent, scriptID, kOSANullScript, kOSAModeNull, &resultID); return err; } 543行目 /* Simple shortcut to the function that actually compiles the applescript. */ static OSStatus SimpleCompileAppleScript(const char* theScript) {
の 171 行目
"tell application \"X11\" to activate"
が X11.app を起動するアップルスクリプトそのものだと思います。
xshogi.app も同じ仕組みです。