Snow LeopardでVisorを使う

Mac OS X Snow Leopardが発売されたので早速Leopardからアップグレードしたら,案の定インストールしてあったSIMBLが動かなくなった.単にSIMBLを動かしたいだけなら,

  • SIMBLを動作させたいアプリケーションをFinderで右クリック
  • メニューから「情報を見る」をクリック
  • 「32ビットモードで開く」のチェックをオン

とすればOK.SIMBL本体の再インストール等は不要.SafariのSIMBLなんかはこれだけで元通り動くようになるらしい.

ただ,同様のことをTerminal.appでやってVisorを使おうとしてみたところ,Terminalを表示させるたびに見た目がぐちゃぐちゃになって使い物にならなかった.新しいバージョンのTerminal.app用にVisorを作り直さないといけないみたい.

解決策

Twitterで「Visorが使えないと死ぬ」とぼやいていたら,fubaさんから以下の情報をいただいた(どうもありがとうございました).

MetaSkills.net Visor Terminal on Snow Leopard

「LeopardからTerminal.appを持ってきてちょっと設定を書き換えれば,Snow LeopardでもVisorが利用できるよ」という話だった.

上のリンク先にはVisor用Terminal.appのバイナリが置いてあったけど,作り方が載っていた&一部の設定を書き換えたかったので自分で用意してみた.

自前でVisor用Terminal.appを作る

まずLeopardのインストールディスクを用意する.
次にTerminal.appを開いて以下のコマンドを実行し,インストールディスクからLeopardのTerminal.appを適当なディレクトリにコピーする(以下の例ではデスクトップにコピーしている).通常のTerminal.appと区別するためにVisorTerminal.appというファイル名にしておく.

$ cp -r /Volumes/Mac\ OS\ X\ Install\ DVD/Applications/Utilities/Terminal.app ~/Desktop/VisorTerminal.app


そしてVisorTerminal.app内のInfo.plistを編集する.

$ vim ~/Desktop/VisorTerminal.app/Contents/Info.plist

CFBundleDisplayNameの次の行:

<string>VisorTerminal</string>

CFBundleIdentifierの次の行:

<string>com.apple.VisorTerminal</string>

CFBundleNameの次の行:

<string>VisorTerminal</string>

ここで,以下の2行を最後のの後ろに追加すると,Visor用Terminal.appがDockに現れなくなる.

<key>LSUIElement</key>
<string>1</string>

ただし,この設定を有効にするとTerminal.app自体のメニューも表示されなくなる(?)みたいなので,個人的にはあまりお勧めしない.配布されているバイナリではこの設定が有効になっている.


さらにVisor.bundle内のInfo.plistも編集する.

$ vim ~/Library/Application\ Support/SIMBL/Plugins/Visor.bundle/Contents/Info.plist

CFBundleVersionの次の行:

<string>Custom</string>

BundleIdentifierの次の行:

<string>com.apple.VisorTerminal</string>

ExecPatternの次の行:

<string>*/VisorTerminal.app/Contents/MacOS/Terminal</string>

BundleIdentifierの次の行:

<string>com.apple.VisorTerminal</string>


以上.これでVisorTerminal.appを起動すればVisorが有効になったTerminalが使えるようになる.