私はフルスクリーンオーバーレイを表示するa macOS menu bar applicationを作っています。ユーザは、メニューバーのスライダを介してこのオーバーレイの不透明度を制御することができます。これらのコントロールをタッチバーに移動したいのは、アプリケーションがスクリーンレコーディングに使用され、メインスクリーン上の注意散漫が記録されるためです。アプリケーションのスライダは、デフォルトでタッチバーにある輝度スライダやボリュームスライダと同じように機能するはずです。アプリケーションのタッチバーをmacOS上に常に表示させるにはどうすればよいですか?
私はNSTouchBar
をサブクラス化してNSApplication
とし、makeTouchBar
を実装しました。このバーは、アプリケーションが最初に起動されたときに表示されます。ただし、他のアプリケーションにフォーカスするとタッチバーが消えてしまい、アプリケーションのタッチバーを再度表示する方法がないようです。問題は、私のアプリケーションは、ウィンドウのない純粋なメニューバーアプリケーションだと思います。ここで
は、私が最も好ましいから少なくとも好適に、目に見える自分のアプリケーションのタッチバーを作ることができる方法があります。
は、明るさと音量アイコンの隣にコントロールストリップに自分のアプリケーションのアイコンを追加します。これにより、他のアプリケーションがフォーカスされている場合でも、ユーザーが私のアイコンを押して不透明度を調整できるようになります。しかし、不思議なことに、I am told that there is no public API to manipulate the control strip。
何らかの形で私のユーザーにアプリケーションをコントロールストリップに手動で追加する方法を教えてください。コントロールストリップは、
System Preferences > Keyboard > Customize Control Strip ...
でカスタマイズできます。コントロールストリップにドラッグアンドドロップする方法はさまざまです。私はここに含める項目として自分のアプリケーションを登録したいと思います。しかし、私はこれを行う方法を見つけることができません。私のアプリケーションを音楽アプリケーションとして登録します。私のマシンでSpotifyは何とかコントロールストリップ(iTunesが使用するのと同じアイコン)の "音楽"アイコンを使用します。私はSpotifyがこれをどうやって行うのか分かりません - 他の人は知っていますか?私のアプリケーションはオーディオを再生していないので、明らかに、これはハックですが、何よりも優れています。
アプリのタッチバーが常に表示されるように、アプリの領域をオーバーライドして、他のすべてのアプリケーションのタッチバーの使用を邪魔します。他のアプリケーションではうまく動作しないため、これは理想的ではありません。
これらの解決策はありますか?他にも解決策はありますか?タッチバーからアプリケーションのタッチバーにいつでもアクセスできるようにするにはどうすればよいですか?
あなたはこれを行う方法を理解しましたか? – user2397282
@ user2397282私の知る限り、それは不可能です。 – jameshfisher
参照:https://github.com/a2/touch-baer –