問題タブ [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.

0 投票する
0 に答える
96 参照

objective-c - アプリケーションメニューが大きい場合、NSSatusItem は非表示になります

重複の可能性:
NSStatusItem が非表示になったときに通知される

私は現在、ステータスバーにテキストを表示する小さな Mac OS X アプリに取り組んでいます。NSStatusItemそれが役立つ場合は、可変長を使用しています。

私が見ている問題は、アクティブなアプリのメニューが大きすぎると、ステータス項目が右から左に非表示になることです。

ステータス アイテムを表示するのに十分なスペースがあります

より大きなメニューを持つ別のアプリに切り替えると、このスクリーンショットでわかるように、ステータス アイテムが非表示になります。

ステータス アイテムを表示するための十分なスペースが残っていません

ここNSWindowDidMoveNotificationで提案されているように、にサブスクライブしてテキストの長さを調整しようとしましたが、一度だけ起動し、テキストの長さを調整するコードは効果がありませんでした。

私の質問は次のとおりです。ステータス項目を調整するために聞くことができる他の通知はありますか?

前もって感謝します!

更新:私のアプリは、実行中に Dock に表示されないエージェント アプリであることを付け加えておきます。

0 投票する
1 に答える
551 参照

objective-c - Mac システム ステータス バー フォーカス

次のコードで、systemStatusBar にメニューを追加しました。

次に、そのプロパティを設定します。他のステータス アイテム (Volume、DateTime、Wi-Fi、BatteryIndi​​cator など) との唯一の違いは、それを選択してキーボードの左右の方向ボタンを押すと、他のアイテムに移動できないことです。別のステータス項目を選択して方向キーを押すと、ステータス項目が選択されず、代わりに別の statusItem にジャンプします。この問題を修正する方法はありますか、それとも OS 以外の statusItems の標準ですか?

0 投票する
1 に答える
298 参照

objective-c - NSStatusItem が NSWindows でのユーザー インターフェイスの更新をブロックする

私はアプリケーションに取り組んでいます。このアプリケーションにはいくつかの NSWindows があり、開いていないときに NSWindows のいずれかにアクセスするために 1 つの StatusItem があります。これらのウィンドウの一部は、新しい番号とステータスでインターフェイスを継続的に更新しています。問題は、システム ステータス バーの StatusItem をクリックすると、ウィンドウの更新がブロックされ、StatusMenu を閉じるまで更新が表示されないことです。

0 投票する
1 に答える
1129 参照

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)

0 投票する
1 に答える
282 参照

objective-c - NSStatusBar アプリ - ウィンドウが常に最前面に表示されます (ホット コーナーは無視されます)。

Evernote の NSStatusBar アイコン (画像を参照) に見られる動作を再現しようとしています。左上隅にデスクトップを表示するように設定されたホット コーナーがあります。これにより、evernote メニューを除くすべてのウィンドウが非表示になります。彼らはどのようにこれを達成しますか?

すべての setLevel オプションを試しました。hideOnDeactive NO.

Evernote はホット コーナーを無視します

0 投票する
1 に答える
231 参照

macos - IBAction を使用してメニュー バー アプリケーションのフォントを設定する

IBAction を使用して、メニュー バー アプリケーション タイトルのフォントとフォント サイズを設定する方法が存在する可能性があります (「タイトル」のフォント サイズも設定します)。

0 投票する
3 に答える
728 参照

objective-c - NSStatusBar の特定の位置に NSStatusItem を追加することは可能ですか?

self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];OSX の systemStatusBar に statusItem を追加するために使用します。次に、statusItem が systemStatusBar の一番左の位置に表示されます。システムクロックの左側など、特定のインデックスにそのようなアイテムを追加する方法があるかどうか疑問に思っていましたか?

0 投票する
3 に答える
1317 参照

macos - 複数のモニターを使用した Mavericks と NSStatusItem のカスタム ビュー

Mavericks 以降、各画面には独自のステータス バーがあります。これは、(NSStatusItem を使用して) ステータス バーで実行されているアプリケーションには、理論的には複数の NSStatusItem オブジェクトが関連付けられていることも意味します。実際には、NSStatusItem の複数の「インスタンス」がユーザーに表示される場合がありますが、それは 1 つにすぎません (私はこれをテストしました)。ステータス アイコンでカスタム ビューを操作しているときに、次の問題が発生します。ユーザーがステータス アイコンをクリックすると、drawStatusBarBackgroundInRect メソッドを使用してプログラムで「強調表示」します。問題は、ステータス アイコン (画面ごとに 1 つ) の各「インスタンス」が、ユーザーが 1 つクリックしただけで強調表示されることです。この動作は、カスタム ビューのないステータス アイコンとは異なります。これを正しく実装する方法はありますか?

良い例として、複数のディスプレイを使用しているときに Dropbox ステータス アイコンをクリックするだけです。他の画面でもアイコンが選択されていることに気付くでしょう。