【问题标题】:How to automatically close an NSPopover in NSStatusBar on Exposé/Mission Control如何在 Exposé/Mission Control 的 NSStatusBar 中自动关闭 NSPopover
【发布时间】:2018-09-10 18:13:37
【问题描述】:

对于其他应用程序,例如 Dropbox 和 1Password,如果您使用 F3 打开 Exposé/Mission Control 以切换空间,则单击顶部栏中的 NSStatusItem 时打开的弹出框会自动隐藏(然后重新显示)。

这是如何实现的?我想不出一个像左/右键一样监听 F3 事件的好方法,尽管启用了辅助功能访问 for something like this,1Password 仍然有效。

想法?

【问题讨论】:

    标签: macos nsstatusitem nspopover apple-expose


    【解决方案1】:

    这不是一个很好的答案,但我最终放弃了 NSPopover。 NSWindow 有一个属性“collectionBehavior”,它控制 NSWindow 相对于其他空间和 Exposé 的行为。我想要的行为(我在 1Password 和 Dropbox 中注意到的)可以用window.collectionBehavior = [.transient, .ignoresCycle] 复制。 .transient 使它在您打开 Exposé 时自动隐藏,并在您关闭它时重新打开,.ignoresCycle 使其在切换窗口时不像真正的窗口。然后我只在切换 NSStatusBar 项时显示它,否则隐藏它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      相关资源
      最近更新 更多