在 macOS 应用程序中启用浮动窗口全屏

发布于 2025-01-12 00:36:23 字数 285 浏览 0 评论 0原文

我将应用程序窗口设置为浮动,以使它们保持在顶部:

NSApplication.shared.windows.forEach { window in
    window.level = .floating
}

但是,这会禁用全屏模式:

  • 绿色窗口按钮最大化窗口大小,但不会激活全屏模式
  • “查看”菜单“进入全屏”项目被禁用

这两种行为(浮动窗口和全屏模式)可以并行启用吗?我检查了项目设置和开发人员文档,但没有找到任何内容。

I set the app windows to floating, to keep them on top:

NSApplication.shared.windows.forEach { window in
    window.level = .floating
}

However, this disables the fullscreen mode:

  • The green window button maximizes the window size but doesn't activate fullscreen mode
  • The "View" menu "Enter Full Screen" item is disabled

Can these two behaviors (floating windows & fullscreen mode) be enabled in parallel? I have checked project settings and developer docs, but didn't find anything.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小瓶盖 2025-01-19 00:36:23

我通过设置 collectionBehavior 让它工作:

NSApplication.shared.windows.forEach { window in
    window.collectionBehavior = [.fullScreenPrimary]
    window.level = .floating
}

我发现 一个类似的问题,他们还设置了窗口的一些属性(不是级别),并且全屏被禁用。

那么,如果没有为 NSWindow 指定collectionBehavior,那么只要未显式设置某些 NSWindow 属性(例如 level),就会启用全屏吗?

I got it to work by setting collectionBehavior:

NSApplication.shared.windows.forEach { window in
    window.collectionBehavior = [.fullScreenPrimary]
    window.level = .floating
}

I found a similar SO question, they also set some properties (not the level) of the window, and fullscreen gets disabled.

So is it that if collectionBehavior is not specified for an NSWindow, then fullscreen is enabled as long as certain NSWindow properties (e.g. level) are not explicitly set?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文