是否可以通过编程访问 macOS 触控栏的控制条?
Posted
技术标签:
【中文标题】是否可以通过编程访问 macOS 触控栏的控制条?【英文标题】:Is there programable access to the Control Strip of the macOS Touch Bar? 【发布时间】:2016-10-28 14:35:25 【问题描述】:控制条 是macOS Touch Bar 的静态和全局部分,在每个上下文和应用程序中始终可见。虽然 Apple 提供了 full documentation 关于如何使用 API 在您的 macOS 应用程序中提供上下文 App Region 的信息,但我找不到任何关于如何将内容添加到控制条。
我可以想出很多不错的工具和操作,让它们总是触手可及,所以我想知道我们(开发人员)是否也能够推进控制条?是否有任何文档或是否有人自己弄清楚如何使用 Control Strip 项目?
【问题讨论】:
相关:***.com/questions/40920204/… 你有没有找到去做这件事?我试图使用github.com/shannah/Java-Objective-C-Bridge - 但我对objective-c知之甚少 @MarkHughes,我是这样做的:***.com/a/46605263/473672 【参考方案1】:没有公共 API 或受支持的方式可以将项目添加到控制条。
【讨论】:
【参考方案2】:事实上,有一个“私有的、未记录的”API 可以使用,如果您点击您的问题的相关评论中的链接(至this question),您就会看到。以下GitHub repository 提供了一个简洁、实用的示例,将这些作为关键元素突出显示:
DFRElementSetControlStripPresenceForIdentifier(NSString *, BOOL);
DFRSystemModalShowsCloseBoxWhenFrontMost(BOOL);
+[NSTouchBarItem addSystemTrayItem:]
+[NSTouchBar presentSystemModalFunctionBar:systemTrayItemIdentifier:]
但是,我认为目前还没有问题。例如,您在其中添加的按钮在修改控制条按钮时将无法选择(这意味着它不会与其他尝试使用它的应用程序一起使用)。
期待 Apple 为我们提供合法性!
【讨论】:
以上是关于是否可以通过编程访问 macOS 触控栏的控制条?的主要内容,如果未能解决你的问题,请参考以下文章
Touch Bar 废物利用系列 | 在触控栏上显示 Dock 应用图标