@
destinism @
justNoBody 我同样觉得这个交互逻辑非常的不合理。
但是按照我的理解,因为 macOS 是基于应用程序的逻辑,而不是像 Windows 那样基于窗口的逻辑。例子是:Windows 关闭了所有窗口即等于关闭了应用程序(缩小到托盘则是一种例外),macOS 中即使关闭了所有窗口也需要再使用 cmd+q 或者菜单栏来关闭应用程序。
基于 macOS 这个逻辑的延伸,切换到一个已经打开应用程序有着两种操作:启动( launch )和激活( activate )。启动就是用鼠标点击应用程序图标,或者用 spotlight 或者其他启动器进入;如果应用程序没有任何已经打开的窗口,则会打开默认的窗口。如果使用 cmd+tab 选中应用程序则是激活这个应用程序;表现为菜单栏变为当前选中的应用程序,但是如果应用没有任何窗口的话,也不会打开默认窗口。而 cmd+tab 后再按下 opt 则等于使 cmd+tab 执行启动操作的逻辑。
其实按照楼主的情况,隐藏的窗口和最小化的窗口应该是能够被 cmd+tab 激活的,但是 cmd+tab 对不同应用的执行上确实非常混乱,比如 message 这个应用在 cmd+tab 里被执行的就是启动逻辑……
所以我认为 macOS 下的 cmd+tab 逻辑真的非常不合理,但是也难以期待官方能改变了……
因为奇怪的审美洁癖,我也没有使用第三方的管理应用。个人的解决方案就是把常用的应用在 better touch tool 里面改 activate 为 launch 了。