【发布时间】:2015-10-17 14:43:09
【问题描述】:
我有一个截图的东西,它的作用是截取当前可见内容的截图,然后打开一个覆盖所有内容的全屏窗口。但是,这会在桌面 1 上的父窗口的桌面上打开。如果用户专注于桌面 2(由于喜欢全屏应用程序或其他原因),那么打开的窗口将不会显示在桌面 2 上。
所以我想知道是否有一个窗口级别或其他东西(我尝试了所有的窗口级别),这将使一个窗口出现在所有桌面上。
谢谢
【问题讨论】:
标签: objective-c macos
我有一个截图的东西,它的作用是截取当前可见内容的截图,然后打开一个覆盖所有内容的全屏窗口。但是,这会在桌面 1 上的父窗口的桌面上打开。如果用户专注于桌面 2(由于喜欢全屏应用程序或其他原因),那么打开的窗口将不会显示在桌面 2 上。
所以我想知道是否有一个窗口级别或其他东西(我尝试了所有的窗口级别),这将使一个窗口出现在所有桌面上。
谢谢
【问题讨论】:
标签: objective-c macos
这听起来像是NSWindowCollectionBehaviorCanJoinAllSpaces 或NSWindowCollectionBehaviorStationary。设置为窗口的collectionBehavior。
(您可能也想设置窗口级别,但这是关于排序而不是集合/空间行为。如果您有一个窗口菜单,那么您可能还需要NSWindowCollectionBehaviorIgnoresCycle。)
【讨论】:
[nswindow collectionBheavior] 来获取当前行为,然后我修改它,然后用[nswindow setCollectionBehavior: newbehavior 将其设置回来!但是,该窗口未显示在其他 PID 上,请您看一下 - stackoverflow.com/questions/40442644/…