Macos 复制屏幕滑动到一边,就像山狮中的通知中心一样?

Macos 复制屏幕滑动到一边,就像山狮中的通知中心一样?,macos,cocoa,slider,osx-mountain-lion,notificationcenter,Macos,Cocoa,Slider,Osx Mountain Lion,Notificationcenter,基本上,我希望整个OSX桌面(或者理想情况下除了菜单栏以外的所有东西)向上滑动,并在底部显示我自己的视图,就像Mountain Lion works中的通知中心一样(只是从底部而不是从右侧) 我一直在四处寻找,但我有点不知道从哪里开始。NSScreen为我提供了主屏幕的框架,但无法为整个桌面(或任何类似的)获得任何类型的NSWindow。因此,当我的视图可见时,桌面本身、基座和任何打开的窗口都会向上滑动 帮助?:) 我能想到的最好办法是创建一个NSWindow,即桌面大小(减去工具栏),加上您的

基本上,我希望整个OSX桌面(或者理想情况下除了菜单栏以外的所有东西)向上滑动,并在底部显示我自己的视图,就像Mountain Lion works中的通知中心一样(只是从底部而不是从右侧)

我一直在四处寻找,但我有点不知道从哪里开始。NSScreen为我提供了主屏幕的框架,但无法为整个桌面(或任何类似的)获得任何类型的NSWindow。因此,当我的视图可见时,桌面本身、基座和任何打开的窗口都会向上滑动


帮助?:)

我能想到的最好办法是创建一个
NSWindow
,即桌面大小(减去工具栏),加上您的内容,您可以使用
NSScreen
计算内容,如您前面所述。接下来,您可以使用窗口并关闭阴影,将窗口样式设置为
NSBorderlessWindowMask
,并正确设置窗口级别。您还必须将windows背景设置为用户桌面壁纸。这样做的一种非官方方式是从
/Users//Library/Preferences/com.apple.desktop.plist
plist阅读。之后,您可以使用
[[mywindow animator]setFrame:NSMakeFrame(…)]
将窗口“滑出”,复制通知中心的外观。即使这样做,你也应该考虑这是否绝对必要。复制功能(而不是完全复制)可能会让用户感到困惑,并且通常会破坏部分功能。

您应该明确了解:

使用CNBackstageController构建的应用程序不会显示普通的窗口和菜单栏,而是为您提供了一个类似于Finder的桌面,并将以平滑的动画显示。常见用途是将应用程序嵌套为在Dock中不可见的statusbar项


如果桌面仍然可用(不仅仅是屏幕截图),或者它已准备好应用商店,我不确定。

那么更换实际的桌面?但是码头不会滑动,任何窗口也不会打开,桌面图标也不会出现。还是我误解了你?此外,这主要是一个概念,而不是一个实际的生产应用程序。取决于最终结果如何,以及解决方案有多老套。哦,对不起,我忘了码头应该移动。我真的看不出有什么办法能产生这样的效果,因为码头的使用会很棘手。你也许可以做一些疯狂的屏幕截图动画来模拟船坞的移动。@nosedive25好吧,现有的应用程序可以像这样制作整个桌面的屏幕截图视频。因此,从理论上讲,通过管道将输出实时传输到无边界窗口是可能的。(这是否值得付出努力和提高性能完全是另一个问题。特别是因为我不知道屏幕捕获作为方便的中间件可用。)问一下这是否可能是公平的,但可能不是。这需要一个应用程序以苹果通常不鼓励的方式控制系统。这只是一个屏幕截图,但对于通知中心来说也是如此。不客气,谢谢你提及。它帮助了我,对。如果它对你有帮助,考虑把它作为答案,因为我认为它比手工复制它容易,我不是问题的所有者,所以我可以把它变成答案…