問題タブ [nsstatusbar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - アプリケーションメニューが大きい場合、NSSatusItem は非表示になります
重複の可能性:
NSStatusItem が非表示になったときに通知される
私は現在、ステータスバーにテキストを表示する小さな Mac OS X アプリに取り組んでいます。NSStatusItem
それが役立つ場合は、可変長を使用しています。
私が見ている問題は、アクティブなアプリのメニューが大きすぎると、ステータス項目が右から左に非表示になることです。
より大きなメニューを持つ別のアプリに切り替えると、このスクリーンショットでわかるように、ステータス アイテムが非表示になります。
ここNSWindowDidMoveNotification
で提案されているように、にサブスクライブしてテキストの長さを調整しようとしましたが、一度だけ起動し、テキストの長さを調整するコードは効果がありませんでした。
私の質問は次のとおりです。ステータス項目を調整するために聞くことができる他の通知はありますか?
前もって感謝します!
更新:私のアプリは、実行中に Dock に表示されないエージェント アプリであることを付け加えておきます。
objective-c - Mac システム ステータス バー フォーカス
次のコードで、systemStatusBar にメニューを追加しました。
次に、そのプロパティを設定します。他のステータス アイテム (Volume、DateTime、Wi-Fi、BatteryIndicator など) との唯一の違いは、それを選択してキーボードの左右の方向ボタンを押すと、他のアイテムに移動できないことです。別のステータス項目を選択して方向キーを押すと、ステータス項目が選択されず、代わりに別の statusItem にジャンプします。この問題を修正する方法はありますか、それとも OS 以外の statusItems の標準ですか?
objective-c - NSStatusItem が NSWindows でのユーザー インターフェイスの更新をブロックする
私はアプリケーションに取り組んでいます。このアプリケーションにはいくつかの NSWindows があり、開いていないときに NSWindows のいずれかにアクセスするために 1 つの StatusItem があります。これらのウィンドウの一部は、新しい番号とステータスでインターフェイスを継続的に更新しています。問題は、システム ステータス バーの StatusItem をクリックすると、ウィンドウの更新がブロックされ、StatusMenu を閉じるまで更新が表示されないことです。
objective-c - NSTextFieldは、NSStatusItemにアタッチされたNSPopoverではアクティブではありません
NSStatusItemを次のように作成しました。
customview付きのポップオーバーもあります。ビューにテキストフィールドがあります:http://d.pr/i/CWbr
私のポップオーバーは次のように表示されます:
デバッガーから、ここにクラスsender
のインスタンスがあることがわかりました。NSStatusBarButton
問題は、ポップオーバーがポップすると、テキストフィールドに入力できない場合、非アクティブに見えることです: http ://d.pr/i/q18U
ボタンは機能しています。
問題は私が渡す見解にあると思いますofView:
。私はそれを次のようなウィンドウのコントロールに変更しようとしました:
そして、textfieldがアクティブになりました(http://d.pr/i/DmTz)が、なぜこれが役立つのかわかりません。
メニューからポップしたときにポップオーバーテキストフィールドが非アクティブになるのはなぜですか?ボタンが機能するのはなぜですか?テキストフィールドをアクティブにするにはどうすればよいですか?
PS私のアプリはApplication is agent (UIElement)
objective-c - NSStatusBar アプリ - ウィンドウが常に最前面に表示されます (ホット コーナーは無視されます)。
Evernote の NSStatusBar アイコン (画像を参照) に見られる動作を再現しようとしています。左上隅にデスクトップを表示するように設定されたホット コーナーがあります。これにより、evernote メニューを除くすべてのウィンドウが非表示になります。彼らはどのようにこれを達成しますか?
すべての setLevel オプションを試しました。hideOnDeactive NO.
macos - IBAction を使用してメニュー バー アプリケーションのフォントを設定する
IBAction を使用して、メニュー バー アプリケーション タイトルのフォントとフォント サイズを設定する方法が存在する可能性があります (「タイトル」のフォント サイズも設定します)。
objective-c - NSStatusBar の特定の位置に NSStatusItem を追加することは可能ですか?
self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
OSX の systemStatusBar に statusItem を追加するために使用します。次に、statusItem が systemStatusBar の一番左の位置に表示されます。システムクロックの左側など、特定のインデックスにそのようなアイテムを追加する方法があるかどうか疑問に思っていましたか?
macos - 複数のモニターを使用した Mavericks と NSStatusItem のカスタム ビュー
Mavericks 以降、各画面には独自のステータス バーがあります。これは、(NSStatusItem を使用して) ステータス バーで実行されているアプリケーションには、理論的には複数の NSStatusItem オブジェクトが関連付けられていることも意味します。実際には、NSStatusItem の複数の「インスタンス」がユーザーに表示される場合がありますが、それは 1 つにすぎません (私はこれをテストしました)。ステータス アイコンでカスタム ビューを操作しているときに、次の問題が発生します。ユーザーがステータス アイコンをクリックすると、drawStatusBarBackgroundInRect メソッドを使用してプログラムで「強調表示」します。問題は、ステータス アイコン (画面ごとに 1 つ) の各「インスタンス」が、ユーザーが 1 つクリックしただけで強調表示されることです。この動作は、カスタム ビューのないステータス アイコンとは異なります。これを正しく実装する方法はありますか?
良い例として、複数のディスプレイを使用しているときに Dropbox ステータス アイコンをクリックするだけです。他の画面でもアイコンが選択されていることに気付くでしょう。