我如何申请';macOS上的触摸栏始终可见吗?

我如何申请';macOS上的触摸栏始终可见吗?,macos,menubar,nstouchbar,Macos,Menubar,Nstouchbar,我正在制作一个显示全屏覆盖的屏幕。用户可以通过菜单栏中的滑块控制此覆盖的不透明度。我希望将这些控件移到触摸栏上,因为该应用程序用于屏幕录制,并且会录制主屏幕上的分心内容。我的应用程序中的滑块应该像默认情况下触摸栏上的亮度和音量滑块一样工作 我通过子类化NSApplication并实现makeTouchBar添加了我的NSTouchBar。当应用程序首次启动时,该条会出现。但是,当聚焦任何其他应用程序时,触摸栏消失,并且似乎无法再次使用我的应用程序的触摸栏。我认为问题在于,我的应用程序是一个没有窗

我正在制作一个显示全屏覆盖的屏幕。用户可以通过菜单栏中的滑块控制此覆盖的不透明度。我希望将这些控件移到触摸栏上,因为该应用程序用于屏幕录制,并且会录制主屏幕上的分心内容。我的应用程序中的滑块应该像默认情况下触摸栏上的亮度和音量滑块一样工作

我通过子类化
NSApplication
并实现
makeTouchBar
添加了我的
NSTouchBar
。当应用程序首次启动时,该条会出现。但是,当聚焦任何其他应用程序时,触摸栏消失,并且似乎无法再次使用我的应用程序的触摸栏。我认为问题在于,我的应用程序是一个没有窗口的纯菜单栏应用程序

以下是使我的应用程序的触摸栏可见的方法,从最可取到最不可取:

  • 在“亮度”和“音量”图标旁边的控制条中添加“我的应用程序”图标。这将允许用户点击我的图标来调整不透明度,即使其他应用程序处于聚焦状态。然而,奇怪的是

  • 以某种方式为我的用户提供了一种将我的应用程序手动添加到控制条的方法。可以通过
    系统首选项>键盘>自定义控制条…
    自定义控制条,其中显示了要拖放到控制条中的各种内容。我想把我的申请登记为一个项目,包括在这里。然而,我找不到任何方法来做到这一点

  • 将我的应用程序注册为音乐应用程序。我的机器上的Spotify以某种方式使用了控制条中的“音乐”图标(与iTunes使用的图标相同)。我不知道Spotify是如何做到这一点的——其他人知道吗?显然,这将是一个黑客,因为我的应用程序不播放音频,但总比没有好

  • 以某种方式覆盖应用程序区域,使我的应用程序的触摸栏始终可见,从而阻止所有其他应用程序使用触摸栏。这显然不理想,因为它不能很好地与其他应用程序配合使用


  • 这些解决方案是否可行?还有其他可能的解决办法吗?如何使我的应用程序的触摸栏始终可以通过触摸栏访问?

    也许有一些黑客解决方案,但根据官方文档,您无法做到:

    在支持的MacBook Pro机型上,键盘上方的触摸栏, 显示NSTouch的实例​最前面的应用程序中的Bar类


    若你们可以把你们的应用程序放到控制条区域(音量控制器和朋友们居住的地方),那个么用户可以在那个里触摸它来打开你们的触摸栏。请参阅hazeover的TouchSwitcher以了解这一想法。

    如果您在后台运行应用程序窗口,是否可以?Spotify应用程序可以很好地完成这一点,而其他应用程序也在使用中。你知道怎么做吗?@user2397282没有。据我所知,这是不可能的。以下是方法: