xshogi.app

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 をインストールすれば、ファイルのドラッグ・ドロップにも対応しています。)

最近、 Leopard に対応した Gimp.app を

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 も同じ仕組みです。