macOS 的窗口管理逻辑能不能修改? 例如关闭当前 app 的窗口后, 我要切换到另一个 app

280 天前
 fanhed

macOS 傻逼的窗口管理就不细说了. 单独说一个 case 吧, 我经常遇到, 真的很恼火

  1. 在 Finder 中, 在当前目录临时打开一个 iTerm, 用命令行处理完一些业务
  2. 关闭这个 iterm 窗口
  3. 期望切换到我正在用的 Finder 窗口, 但是并没有, macOS 会切换到我其他正在开启的 iterm 窗口

第 3 点请问有没有办法实现我期望的逻辑? 这个问题真的很恼火, 我经常浪费大量时间处理这种 case

1678 次点击
所在节点    macOS
28 条回复
GuryYu
280 天前
可以使用 AltTab 替换掉系统默认的切换
wsjjacky
280 天前
如果你愿意尝试 bettertouchtool 的话,这个问题很好解决。将 Command+W 定义为「关闭窗口」+「打开 Finder 」即可。BTT 可以讲任意一个快捷键组合定义为几乎任意动作,只要系统支持就可以。
Koma
280 天前
如果关闭当前窗口就切到其他应用,经常做 CMD+W 然后 CMD+N 操作的会疯掉
Goalonez
280 天前
我现在一般把常用的软件都用 raycast 设置一个快捷键,可以实现类似 cmd+H 的效果,直接唤起或者隐藏对应窗口.
FozillaMox
280 天前
不能。

macOS 的窗口管理确实拉胯。
minami
279 天前
之前用过一年多时间的 macOS ,总体感觉是它就没有窗口管理,它实际上就是应用管理,切到哪个应用就把哪个应用的窗口都拉出来,设计如此,要么忍要么滚了。也许可以试试 ubar ,把 dock 整体换了可以破。有些果粉就别来强调有多么好用了,真的是问就是好用,再问就是推荐一堆效率工具,太真实了
fanhed
279 天前
看来这个窗口管理还是一如既往地傻逼
fanhed
279 天前
@Koma 其实逻辑应该是, 关掉当前窗口就回到之前的窗口, 我例子只是为了简单描述 case. 反正 Windows 的窗口管理更符合直觉, macOS 的窗口管理就是答辩.
fanhed
279 天前
@wsjjacky 这个思路看起来可以, 我不用 bettertouchtool, 但是我用 hammerspoon, 看起来可以把 cmd+w 定义为关闭当前窗口并切换到之前的一个窗口, 我看下能否实现
wsjjacky
279 天前
@fanhed BTT 我可以吹一辈子哈哈哈!感觉苹果应该把 BTT 收编作为系统自带软件之一,真的太好用了。
wsjjacky
279 天前
@fanhed BTT 可以设置某个快捷键仅对某个特定 APP 生效,因此当你设置完之后,在别的 app 中 command+w 就仅仅是关闭当前窗口,不会自动切换到 Finder 窗口(当然如果你愿意的话也可以设置为 universal 快捷键,对所有 app 都适用)。
FozillaMox
279 天前
@fanhed 「其实逻辑应该是……」这就是你的不对了。用苹果产品就要做好改变使用习惯的觉悟。😁
justaname
279 天前
@Koma 符合直觉的方式应该是关闭当前窗口就退回上一个激活的窗口,而不是打开几百年前用过的上一个同应用窗口
seanzxx
279 天前
@fanhed 你是在用 Windows 的操作逻辑来操作 macOS ,但其实背后的原理并不一样。
Windows 切换的是窗口,macOS 切换的是应用。
Windows 很多时候关掉窗口,应用就关闭了,但 macOS 关掉窗口,应用依然在运行,哪怕一个窗口都没有,这个应用依旧处于前台活跃状态,顶部的菜单栏依旧是属于当前活跃的应用,所以你关掉了一个应用的窗口,这个应用前一个活跃的窗口就跳出来了,因为你一直都在这个应用中。

你想当前窗口消失回到之前的应用窗口,要么可以 Cmd + Q 退出当前应用,要么可以 Cmd + H 隐藏当前应用,上一个应用的窗口就变活跃了。
eggsblue
279 天前
看起来 Wins 可以增加这个功能,提供两个选项:
1. 关闭窗口时,聚焦到上一个窗口中
2. 关闭窗口时,如果应用没有可用其他窗口,是否关闭程序
GabrielleBellamy
279 天前
四指下滑可以看到正在打开的窗口,进行同一软件内的窗口管理。这个需要在设置里打开。macOS 不是没有窗口管理,只是做得确实不够好。另外我觉得它做得不好的地方在于它不够开放,使第三方也很难弥补这些缺陷,只能勉强凑合。
Koma
279 天前
@justaname 这又涉及到 mac 下大多 app 关闭窗口不是关闭程序的逻辑了,在这个环境下,我不认为“回到上一个同应用窗口”就是符合直觉的。
DylanMorane
278 天前
win 大多时候关闭窗口就是退出程序,mac 必须按 CMD+Q 才算彻底退出程序 关闭窗口并不等于退出程序,下面这两个快捷键可以帮助你解决这个问题:
1 、Command-H:隐藏最前面的 App 的窗口。要查看最前面的 App 但隐藏所有其他 App ,请按 Option-Command-H 。
2 、Command-M:将最前面的窗口最小化至“程序坞”。要最小化最前面的 App 的所有窗口,请按 Option-Command-M 。
DylanMorane
278 天前
@DylanMorane 补充一点 如果你开启了台前调度 CMD+Q 关闭掉程序后之前应用的窗口就会自动出现
fanhed
278 天前
@Koma 关闭窗口不关闭 app 不就是 Windows 的自带托盘标记的应用而已, 这种在 Windows 下面也是关闭窗口后就切换到之前的窗口了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/962056

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX