Hatena::ブログ(Diary)

ザリガニが見ていた...。 このページをアンテナに追加 RSSフィード

2008-05-22

MacBookでメニューバー右側のアイコンメニューが文字メニューと重なって操作できない時の対策

ここで言うメニューバー右側のアイコンメニューとは、Spotlighteや日本語入力システムのことえり、時計、AirMac...、アップル以外ではGoogle Notifier、dolipo...などのメニューバーに常に表示され続ける、便利な機能を提供してくれるソフトウェアのアイコンメニューのこと。(もしかしたら、メニューエクストラと呼ばれているかも。)

f:id:zariganitosh:20080523112618p:image

f:id:zariganitosh:20080523112619p:image

自分の作業環境を便利にしてくれるツールが多いので、ついついたくさん登録しがちなのだが、今となっては狭いMacBookのディスプレーでは、油断しているとすぐにアプリケーションの文字メニューと重なって見えなくなってしまう状況に陥る。特にRadRailsXcodeなど開発環境は文字メニューが充実しているので、なるべく少なく厳選したつもりでも、必ずアイコンメニューのいくつかは見えなくなってしまう。そんな時は文字メニューの短いアプリケーション、例えばFinder等に切り替えて、アイコンメニューを表示して操作していた。(こんな時、みんなどうしているんだろう?)

ところが、いよいよFinderにしてもアイコンメニューが見えなくなってしまうという状況になってしまった。さすがにこの時は、便利といえどもアイコンメニューを登録し過ぎかもしれないと思い、利用頻度が低そうなものを削除した。しかしその後も、新しいアイコンメニューを試す度に、別のアイコンメニュの何か一つ削除しなくてはならない状況で、面倒くさい。要は、Finderよりも文字メニューが少ないアプリ、究極は文字メニューを持たないアプリケーションがあればいいのだ。以前そんな目的のアプリケーションがあった気がしたのだが、最近検索してみたが、見つけることは出来なかった...。それなら自分で作ってしまうことにする。(簡単にコーディング不要で出来ると予想して。)

開発環境

  • MacBook
  • MacOSX 10.5.2 Leopard
  • Xcode 3.0

MinimumMenuプロジェクトの開始!

  • Xcodeを起動して、
  • メニューから「ファイル >> 新規プロジェクト...」を選択した。
  • 表示されたウィンドウの新規プロジェクトの「Application」リストから「Cocoa Application」を選択して、「次へ」ボタン、
  • プロジェクト名:MinimumMenu、ディレクトリ:~/Documents、として「完了」ボタンを押した。
  • これで、Cocoaアプリケーションの雛形から「MinimumMenu」プロジェクトが作られてXcodeで開かれた。(Railsで言えばターミナルから「Rails minimum_menu」を実行したのと同じ状態)

ビルドして進行

  • いきなり、プロジェクトウィンドウの「ビルドして進行」アイコンをクリックして実行してみる。
  • 白地のウィンドウが開かれて、メニューバーがMinimumMenuのメニューになった。

目指すもの

  • アイコンメニューをたくさん表示することが目的なので、ウィンドウは不要。表示されないようにしたい。
  • 現在のメニューは「MinimumMenu File Edit Format View Window Help」と表示されている。全部表示されないようにしたい。
ウィンドウを表示しないようにする
  • グループとファイルのリストから「Resources >> MainMenu.nib」をダブルクリックして、Interface Builderで開いた。
  • 「Window」アイコンを選択して「コマンド + 1」キーを押す。
  • 表示されたウィンドウの中の「Visible At Launch」のチェックを外した。
メニューを削除
  • 今度は、上の方に表示されている「MainMenu」ウィンドウでの作業。
  • 「Help」メニューをゆっくり3回クリックして、サブメニューが表示されずに選択された状態にして、「delete」キーを押すと削除できた。
  • 上記の操作ですべてのメニューを削除してしまった。

以上の作業を完了して、一旦Interface Builderを保存しておいた。

動作確認

  • Xcodeに戻って、再度、「ビルドして進行」ボタンを押して実行してみる。
  • MinimuMenuが起動した。
    • ウィンドウは表示されない。
    • メニューは「MinimumMenu」のみ表示されている。
      • Interface Builderで全部のメニューを削除したつもりだったが、アプリケーション名のメニューだけは表示された。(削除できないようだ)
      • よくよく考えたらアプリケーション名のメニューは、終了する時にも必要になるはず。「コマンド + z」キーを押して(操作履歴を一つ過去に戻す)、「New Application」のメニューだけは復活させておいた。(後々、環境設定も追加したくなるかもしれないので。)

以上で、何の工夫も無いがアイコンメニューをできるだけたくさん表示するという当初の目的は達成できた。文字メニューに重なって見えないアイコンメニューを表示したい時は、MinimumMenuにアプリケーション切り替え(コマンド + タブ)すればいいのだ。

7z7z 2008/11/09 01:06 僕も困っていました。
上で言っている>そんな目的のアプリケーション、とはきっとNoMenuBarですね。
ミニュー、とても洗練された素敵なアプリだと思います。
ただ一つ。。なんとかDock非表示でバックグラウンドアプリみたいにはならないでしょうか?

zariganitoshzariganitosh 2008/11/09 06:05 コメント、ありがとうございます。

> なんとかDock非表示でバックグラウンドアプリみたいにはならないでしょうか?

その気持ち分かります。メニューバーと同じくDockも貴重な表示領域ですよね。
僕もそのような仕様にできないかといろいろ試してみましたが、
バックグラウンドアプリにすると、メニューバーにも表示されなくなってしまい、
現状の自分の知識と発想では、解決策が見つかりませんでした...。
何か閃いたら、また試してみようと思っています。

7z7z 2008/11/09 18:13 なるほど、
>バックグラウンドアプリにすると、メニューバーにも表示されなくなってしまい、
そういうことだったんですね><。。

>アプリケーション・パッケージ内の Info.plist を編集して、
><key>LSUIElement</key>
><string>1</string>
>というパラメーターを追加する
(via as/is http://www.mtbird.com/asis/mac/dockless.html)

というハックを試みたところ、アプリ自体が使い物にならなくなったりして。
zariganitoshさんの今後の開発に期待しております!

季節風季節風 2011/09/21 15:47 早速、MinimumMenuを作成しました。
狭いMacBookのメニューバー領域で助かります。
これで、メニューバーでの日付時刻表示を復活させようと思います。
ありがとうございます。

同じくDock領域は、Mac App Storeのアプリがどんどん自動登録されてゆき、
個々のアイコンが、どんどん小さくなってきています。

zariganitoshzariganitosh 2011/09/22 05:16 季節風 さん、
> 早速、MinimumMenuを作成しました。
以下のページにも自分が作成したMinimumMenuがあります。
http://d.hatena.ne.jp/zariganitosh/20080615/1213487043
よろしければ試してみてください。

> 同じくDock領域は、Mac App Storeのアプリがどんどん自動登録されてゆき、
> 個々のアイコンが、どんどん小さくなってきています。

自分の場合は、DockのMac App Storeのアプリのアイコンは削除してしまって、アプリケーションフォルダを登録してあります。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/zariganitosh/20080522/1211509948