Dockに独自メニューを追加する
MinimumMenu の version 0.3 では、Preferences パネルでアプリケーションのメニューを全部消すことができるようになった。じゃあ、メニューがなかったら Preferences パネルはどうやって表示したらよいのでしょう。それには、Dock に表示されている MinimumMenu のアイコンをクリックすればよい。でも、これには最初気がつかずに Dock のアイコンを Ctrl+クリックして Dock のメニューを表示させて終了させて、plist ファイルを削除するという手段をとってしまった。
どうせなら Dock のメニューからも Preferences パネルを表示させられるようにしてはどうだろう。というわけで調べてみた。
Dock メニューを追加するには二つ方法がある。静的なメニューと動的なメニューである。静的なメニューというのは、iTunes でいうと「一時停止」とか「次へ」とかのアプリケーションを実行している間に変更しない項目のメニューを指す。一方動的なメニューとは、iTunes だと「再生中」メニュー項目の下の再生中の曲名のようなメニュー項目だ。
静的なメニューを追加する
MinimumMenu の Dock メニューを追加する手順を以下に示します。
- MainMenu.nib を開きます。
- Object Library から Menu をドラッグアンドドロップして追加します。
- お好みで DockMenu などの名前を付けます。
- 追加したメニューを File's Owner インスタンスの dockMenu アウトレットに接続します。
- 追加した DockMenu メニューに
Preferences...
項目を追加します。 - 標準でできている
item 1
,item 2
,item 3
項目を削除します。 - Preferences パネルの
makeKeyAndOrderFront
アクションに、追加したPreferences...
メニュー項目を接続します。
これだけで静的メニューを追加できました。
動的なメニューを追加する
動的 Dock メニューを実現するには、アプリケーションのデリゲート先で applicationDockMenu:
メソッドを実装します。このメソッドから、動的に生成したメニューオブジェクトを返すようにします。
以上の情報は Cocoa Dev Central の How to Make a Dock Menu を参考にしました。