1

我想创建一个系统范围的就地最小化功能,该功能在双击第 0 层中任何可见窗口的标题栏时发生。

看来这将是一个非常简单的重新实现功能......当双击标题栏时,只需绘制标题栏。而已。问题是在所有应用程序中都使用它。我认为它需要编写一个自定义框架来覆盖 AppKit 中的行为?也许是 NSApplication、NSWindow 或 NSView?

如何重新创建就地最小化? 框架是我唯一的选择吗?如果我创建一个框架,我可以替换 3rd 方应用程序中的最小化行为吗?

为了拦截和重新创建最小化按钮的默认行为,我需要覆盖哪个框架?

有关就地最小化的更多信息: 我熟悉 Unsanity 的 WindowShade,这正是我想要创建的。据说unsanity 正在开发一个Lion 版本,但他们的记录很糟糕。就地最小化是 OS 7 或 8 时代的系统功能。我尝试过其他实用程序来尝试替换此功能,但没有任何可以在核心系统级别进行就地最小化的工具就像它需要做的一样。请不要提供实用程序建议,我将建立自己的。

我已经构建了一个重新创建就地最小化的应用程序,但这还不够好。 我的应用程序通过将“占位符”窗口(属于我的应用程序)放置在第 3 方窗口最小化到停靠时的位置来半成功地重新创建就地最小化。当我的窗口(仅限标题栏)被双击时,我会关闭我的窗口并从 Dock 中恢复真实的窗口。

我的自定义应用程序运行良好,但有很多应用程序切换正在进行。我已经优化了应用程序之间的切换,使其几乎无缝,但事实仍然是每次双击窗口标题栏时都会进行应用程序切换。应用程序切换的结果是菜单栏来回切换,当我的应用程序获得焦点时,第 3 方应用程序的托盘会隐藏起来,并且列表还在继续。

所以,尽管我已经构建了一个概念应用程序,但这种方法并不能如我所愿。就地最小化需要使用构建应用程序以外的其他方法来实现,我需要帮助理解如何做到这一点。

就地最小化演示应用程序

我所知道的认为我需要做的。欢迎提出建议和帮助。 我想我需要编写一个替换 AppKit 的自定义框架?即使我只需要覆盖一小部分代码,这似乎势不可挡?即核心 _minimize 函数,不管它是什么。

双击第 3 方窗口的标题栏时,只需剪辑到标题栏,让系统的其余部分正常运行。在取消最小化(第二次双击)时,将剪辑设置回全窗口。

简单吧?

感谢您的任何帮助/建议,

克里斯

4

0 回答 0