应用程序 TouchSwitcher 在光屏和音量项目旁边添加项目: https ://hazeover.com/touchswitcher.html
是否有解决方案将项目显示到触摸栏右侧区域的控制条中?
我在官方文档中找不到任何帮助...请帮助我!
应用程序 TouchSwitcher 在光屏和音量项目旁边添加项目: https ://hazeover.com/touchswitcher.html
是否有解决方案将项目显示到触摸栏右侧区域的控制条中?
我在官方文档中找不到任何帮助...请帮助我!
这是我使用的。NSView
将您选择的一个和一个标识符传递给controlStrippify()
函数。我尝试使用 Swift 做完全相同的事情导致崩溃,欢迎移植 :)。灵感来自https://github.com/a2/touch-baer。
@import Cocoa;
@import Foundation;
// See: https://github.com/a2/touch-baer
extern void DFRElementSetControlStripPresenceForIdentifier(NSString *string, BOOL enabled);
@interface NSTouchBarItem ()
+ (void)addSystemTrayItem:(NSTouchBarItem *)item;
@end
@interface NSTouchBar ()
+ (void)presentSystemModalFunctionBar:(NSTouchBar *)touchBar systemTrayItemIdentifier:(NSString *)identifier;
@end
void controlStrippify(NSView *view, NSString *identifier) {
if (@available(macOS 10.12.2, *)) {
NSCustomTouchBarItem *touchBarItem = [[NSCustomTouchBarItem alloc] initWithIdentifier:identifier];
touchBarItem.view = view;
[NSTouchBarItem addSystemTrayItem:touchBarItem];
DFRElementSetControlStripPresenceForIdentifier(identifier, YES);
} else {
// Fail!
}
}
反编译后发现/System/Library/PrivateFrameworks下一个叫DFRFoundation的框架里面有一些API,还有一个相关的方法DFRElementSetControlStripPresenceForIdentifier
。我觉得很难进一步,所以我在这里回答只是为了让您知道用于此的 API 位于私有框架中。希望有一天有人会透露这些秘密。