1

所以不太确定如何用谷歌搜索这个问题......但是,我想制作一个 NSWindow,驻留在所有其他窗口/应用程序的后面,我希望它显示在每个任务控制空间(仍在背部)。

我见过这样做的其他应用程序,所以我知道这是可能的,只是不知道如何。

(我指的是 Lion 的名为 Mission Control 的功能,您可以在其中切换不同的空间。)

4

2 回答 2

2

找到了答案,有一种方法/枚举可以使窗口出现在所有“空间”(任务控制)中。

[self.window setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces];

以及一种将窗口保持在尽可能远的位置的方法。

[self.window setLevel:kCGDesktopIconWindowLevelKey - 1];

您所要做的就是使用这两种方法,它会完全按照我的要求进行。但是,我希望有一种方法可以防止它在从任务控制下来时出现动画(据我所知没有)。

于 2013-01-19T06:20:42.107 回答
0

你想设置 NSWindow 的levelcollectionBehavior属性。

您要使用的窗口级别将取决于您在窗口后的行为。您可以在 CoreGraphics/CGWindowLevel.h 中找到可用窗口级别的常量。我建议尝试CGWindowLevelForKey(kCGDesktopIconWindowLevelKey) ± 1

您指定的收集行为还取决于您所追求的行为。您问题中的简短描述表明这NSWindowCollectionBehaviorStationary | NSWindowCollectionBehaviorCanJoinAllSpaces可能是一个很好的起点。

于 2013-01-19T06:17:38.350 回答