当应用程序失去焦点时停止隐藏应用程序窗口

Bry*_*yan 2 user-interface window-focus macos

当拥有窗口的应用程序失去焦点时,如何阻止我的 mac (Mac OS Snow Leopard) 上的窗口隐藏。

并非 Mac 上的所有应用程序都这样做,但 Photoshop 和传输是表现出这种行为的应用程序的完美示例。

当您想在另一个应用程序(例如文字处理器)中输入笔记时,这是令人沮丧的,但是当您将文字处理器聚焦以开始输入笔记时,请参阅隐藏的窗口内容!

必须有一个选项(或黑客)来禁用它?

我一直认为苹果应该是 UI 设计的大师,但允许应用程序这样做似乎是错误的。

Dan*_*eck 5

您可能在谈论Utility WindowsPanels

来自 Apple 的人机界面指南

(所有粗体由我突出显示)

面板是特定于应用程序的或系统范围的。当应用程序被停用时,特定于应用程序的面板会消失。

[...]

一个用户可以一次打开多个面板;它们漂浮在文档窗口的顶部。当用户使文档处于活动状态时,应用程序的所有面板都应置于最前面,无论用户打开面板时哪个文档处于活动状态。当您的应用程序处于非活动状态时,应隐藏其面板。面板不应作为文档列在窗口菜单中,但您可以在窗口菜单中放置显示或隐藏所有面板的命令。图 14-38 显示了不同样式面板的示例。

这篇文章解释了谁对他们的行为负责

Apple 的实用程序窗口示例

Mac OS X 实用程序窗口在几个重要方面与 Windows 对应窗口不同:

  • 它们有一个拖带,使用户可以在桌面上重新定位它们,但拖带通常没有文本标题。
  • 当您的应用程序处于后台时(即,其窗口处于非活动状态但可见),其实用程序窗口应隐藏起来。(您有责任实施此行为。)
  • 除了特定于应用程序的实用程序窗口,Mac OS X 还支持系统范围的实用程序窗口,即使父应用程序在视图中隐藏,这些窗口仍然可见。

由我再次突出显示。


看到应用程序开发人员需要自己实现这种行为,我没有看到解决这种行为的理智方法(理智的意思,既不在运行时更改应用程序的代码,也不以某种方式更改 Cocoa 框架)。当然,您可以请求传输人员使用没有这种行为的常规窗口(例如从 Finder 的Show Inspector更改为Get Info)。

如果我不得不猜测,您想要做一些不寻常的事情,例如创建软件文档。这可能就是这种行为对您不起作用的原因。

作为一种解决方法,快速制作这些面板的屏幕截图并在使用另一个应用程序时查看它们。