内蔵バッテリー、Wi-Fi、サウンドなど、Apple が提供するステータス項目は、cmd + クリック アンド ドラッグを使用して、メニューの任意の位置にドラッグできます。
自分のステータス アイテムで同様の機能をサポートするにはどうすればよいですか?
内蔵バッテリー、Wi-Fi、サウンドなど、Apple が提供するステータス項目は、cmd + クリック アンド ドラッグを使用して、メニューの任意の位置にドラッグできます。
自分のステータス アイテムで同様の機能をサポートするにはどうすればよいですか?
メニューバーの右側にメニューを表示するには、2つの方法があります。公式にサポートされている方法はNSStatusItem
、アプリでを作成することです。他の方法は、を作成することNSMenuExtra
です。1つの違いに気づきました。NSStatusItem
メニューは所定の位置に固定されていますが、メニューエクストラはcmdキーを押しながらドラッグすることで移動できます。
他の主な違い、およびサードパーティのメニューエクストラが公式にサポートされていない理由は、ステータスアイテム(個別のアプリケーションとして実行される)とは異なり、メニューエクストラがSystemUIServerプロセスのアドレス空間にロードされることです。つまり、彼らが急いでクラッシュした場合、UIを停止する可能性があります。
システムにインストールされているMenuExtrasは、で確認できます/System/Library/CoreServices/Menu Extras
。独自に作成してOSにロードさせることは可能かもしれませんが、結果を出荷しようとすると問題が発生します。bugreport.apple.comにアクセスして、NSStatusItemsをドラッグ可能にする必要があることを知らせてください。