Leopard(10.5.5以降)での画面共有の隠し機能の出し方

2009年8月31日追記:Snow Leopardでは動作速度改善と軽量化のためかnibファイルがコンパイルされてしまっているため編集できません。よって現在のところ以下の方法ではフルスクリーンを有効にすることができません。新しい方法がわかり次第掲載します。

画面共有改変方法どうやら10.5.5以降での画面共有は以前の方法では隠し機能が出ないようです。
当方でも最近できていなかったのですが、コメントをいただいて固有の問題ではないのだと知り調べてみました。

こちらで情報を見つけたので日本語で説明していきます。
どうやら2つの方法が有るようで。
一つは簡単だが、セキュリティーに問題があるかも知れない方法
もう一つは複雑だが、安全だと思われる方法。おすすめ。

後者の方法はビデオによる解説も載せておきました。説明文は下にあります。


まずは簡単な方から。(私はこの方法は試していません)
こちらは簡単で、10.5.4以前の「画面共有」の実行ファイルを持ってくるというものです。
Timemachineを10.5.5にアップデートする前から使っていたなら、昔の「/System/Library/CoreServices」以下に「画面共有.app」があるはずなのでそれを持ってくるのですが、現在のバージョンには上書きしないでください。個人のApplicationディレクトリにでもコピーして、そちらを起動するのがよいようです。
この場合以前の記事に書いた方法も実行することによりフルスクリーンなどの機能がつかえるようになります。
10.5.4以前のバックアップをとっていない場合、「Pacifist」などのツールを使ってLeopardのインストールDVDからファイルを取り出す方法もあります。
この方法の危険かもしれない点は「わざわざアップデートされた」ということはセキュリティーホールが古いバージョンに存在する可能性があるということです。

次によりSafeだがComplexなSolutionを。
これを実践するにはXCodeをインストールしておく必要があります。これはLeopardのDVDから開発ツールをインストールすると導入されます。
次に、「/System/Library/CoreServices」から「画面共有.app」を適当な場所にコピーしてきます。以降これを編集していきます。

コピーした「画面共有.app」を右クリックし「パッケージの内容を表示」をクリック。

画面共有(パッケージの内容を表示)

画面共有(パッケージの内容を表示)

開いたディレクトリから、

MainMenu.nib

MainMenu.nib

「Contents/リソース/Japanese.lproj/MainMenu.nib」を開きます。Interface Builderが起動するはずです。

Interface Buider

Interface Buider

「First Responder」アイコンをクリック。
Command-6を押す(Identity Inspectorを出すため)。
+ボタンをクリックし、あたらしいアクションを追加。
名前を「fullScreenClicked:」に設定。(最後のコロンは重要。すいませんS,Cは大文字です。)

fullscreenclickedの追加

fullscreenclickedの追加

「MainMenu」アイコンをダブルクリック。
「ウインドウ」メニューを開く。
Shift-Command-LをクリックしてLiblaryを開く。
「NSMenuItem」を「拡大/縮小」の下に配置し、名前を「フルスクリーン」にでもしておく。(なんでもよい)

munuitemの追加

munuitemの追加

menuitemのキャプション変更

menuitemのキャプション変更

このアイテムが選択された状態でCommand-5をクリックし「Connection Inspector」を開く。
Selector横のボタンをドラッグして、「First Responder」アイコンまで持っていく。

Interface builder 接続

Interface builder 接続

「fullScreenClicked」を探してクリック。

actionの選択

actionの選択

接続されるとInspectorのMenu Connectionsの表示はこのようになるはずです。

Actionの接続後

Actionの接続後

保存してInterface Builderを終了。

これでインターフェースが改変された画面共有ができます。
この方法ではメニューからフルスクリーンをクリックすると拡張機能のツールバー(画質などの選択ボタン)が表示されます。

12 Comments

  1. Kaz より:

    早いフォローありがとうございます。
    御陰さまでうまくできました。

    ただ、
    fullscreenClicked: を fullScreenClicked:
    (Sを大文字に)する必要がありました。
    (そうしないと、作ったメニューitemが選択できないまま)

    以上ありがとうございました。

  2. yoyo より:

    すいません。ご親切な案内に従って進みましたが、設定したメインメニューの『フルスクリーン』の文字がアクティブになりません。なにか考えられる問題点はございませんでしょうか。すべて条件に沿って何度もトライしてみたのですが。お手数ですが、ご教示頂ければ幸いです。

    • chibiegg より:

      そうですか…問題が起きるとしたら大文字小文字なのですが。
      画像の方を参考に確認していただけたらなにかきっかけが掴めるかもしれません。
      それでもだめでしたらこちらに不備があるかもしれません。情報源も参考になさってください。

  3. yoyo より:

    わかりました。ご親切にありがとうございます。画像も注視してみます.
    また結果ご報告いたします。

  4. yoyo より:

    何度も申し訳ないです。画像と違う点が一カ所ございました。Menu Connections内のバーがOutlets, Sent Actions, Referencing Outletsと続いている最後の『Referencing Outlets』がありません。これがなにか関係しているのでしょうか?ご教示頂ければ幸いです。自身ももう少し奮闘してみます。

    • chibiegg より:

      そうですか…『Referencing Outlets』が表示されないようになる状態を探してみたのですが見つけられませんでした。
      まだOSXでの開発の経験がないもので。
      代わりにと言ってはなんですが、Actionを接続した後の「フルスクリーン」アイテムのMenu Connectionsの状態を載せておきました。もう一つ、それでもだめならOSXのバージョンとInterface Builderのバージョンが古くないかも確認してみてください。
      当方はMac OS X 10.5.6 , Interface Builder 3.1.2 (677)で動作確認しました。
      成功を祈ります。

  5. yoyo より:

    早速フォローありがとうございます。ご案内いただいたInterface Builder が3.0でしたのでアップデートしたらうまくできました。本当にありがとうございました。助かりました。スッキリ!

  6. cp より:

    OS10.5.8なのですがうまくできません。。。
    とくに間違っている部分はないのですが
    10.5.8ではうまくできないということなのでしょうか。
    お手数ですがよろしくお願いします。

    • chibiegg より:

      申し訳ありません。Leopardは10.5.6間でしか確認しておらず、SnowLeopardにアップデートしてしまったため、当方では10.5.8での検証はできません。
      上記のコメントにあるように、XCode等のバージョンによってはできない場合があるようなのでもし該当するようであればアップデートしてみてください。
      お役に立てずすいません。

  7. cp より:

    いえいえ、フルスクリーンにできなくても使い勝手はいいですし。
    ありがとうございました!

    • chibiegg より:

      フルスクリーンができるともっと便利なんですけど、SnowLeopardでもできなくなってるのが残念で…
      せめてフルスクリーンぐらいは許してもらいたいものです。

コメントを残す

メールアドレスが公開されることはありません。

question razz sad evil exclaim smile redface biggrin surprised eek confused cool lol mad twisted rolleyes wink idea arrow neutral cry mrgreen

*