Mac OS X自定义Dock应用程序

时间:2016-02-22 06:37:17

标签: objective-c macos

我想知道如何在Mac OS X中创建自定义停靠应用程序,如Dockshelf或uBar:

http://www.thealchemistguild.com/dockshelf/

https://brawersoftware.com/products/ubar

非常重要的是,当其他应用程序全屏显示时(例如本机OS X Dock),此自定义Dock应该是可见的。

我无法在任何地方找到这些信息。感谢。

1 个答案:

答案 0 :(得分:0)

对于停靠效果,创建一个非常薄(例如2px宽),完全透明的窗口,没有任何装饰作为应用程序的主窗口,并将其固定到桌面的边缘(您需要采取如果用户有多个屏幕,请特别小心)。当鼠标光标悬停在该区域时,显示您的主要用户界面(例如您的自定义 dock )。

要隐藏菜单栏(如Dock)应用程序,请使用NSApplication setPresentationOptions:致电NSApplicationPresentationHideMenuBar

最后,使用TransformProcessType隐藏图标调用kProcessTransformToForegroundApplication

ProcessSerialNumber psn = { 0, kCurrentProcess };
TransformProcessType(&psn, kProcessTransformToForegroundApplication);

现在你有一个停靠的应用程序到屏幕上。