gpt4 book ai didi

macos - Mac 窗口图标化按钮的 Hook

转载 作者:行者123 更新时间:2023-12-03 17:21:51 26 4
gpt4 key购买 nike

如何设置在 OSX 上单击黄色窗口图标化/最小化按钮时触发的回调?

我的目标是在系统范围内拦截最小化按钮,以便可以隐藏窗口(如 CMD-h 中)而不是图标化/最小化。为此,如果存在这样的函数,我还需要一个隐藏窗口方法。

编辑

在 Mac 应用程序中使用黄色最小化按钮会导致应用程序消失。我已将其设置为不在扩展坞中创建额外的图标(首选项设置:“将窗口最小化为应用程序图标”)。当稍后使用 Alt-TAB 恢复应用程序时,尽管应用程序本身已变为事件状态,但窗口不会从图标恢复。此行为与 CMD-h 的工作方式不同。尽管我已经使用 Mac 多年,但我不断发现 CMD-TAB 的无用性令人恼火。

最佳答案

我不确定您为什么要改变用户期望的正常行为。命令 H 隐藏整个应用程序的 UI。命令 M 或(如果在系统首选项中设置)双击标题栏将最小化窗口。

用户还可以在系统偏好设置中自定义键盘快捷键。

控件在响应程序链中设置,以便这些键盘快捷键被发送到响应程序链,并且队列中的第一个窗口做出响应。

它们是在 NSWindow 中实现的,并且可以在很多地方被覆盖。NSApplication 子类和 NSApplicationDelegate 子类一样都是一处。任何窗口委托(delegate)也可以做不同的事情。

您应该查看所有这些类及其编程指南以及响应者链和 NSEvent 以进一步了解这一点。

你有很多选择。

根据对问题的编辑,答案大部分没有变化。如果你想用 cocoa 来做到这一点,请查看上面的类。当您的应用程序变为事件和非事件状态时,您可以观察并响应 NSNotifications。

如果你想控制其他应用程序,你需要查看 NSWorkSpace 和 NSRunningApplication,还需要查看 AppleScript 和 NSAppleScript。

关于macos - Mac 窗口图标化按钮的 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23325654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com