← 博客

为什么 Chrome 窗口一进全屏就消失了

6 分钟

你开着一个 Chrome 窗口看文档。点进全屏的编辑器,Chrome 没了。不是被压在编辑器后面,是彻底不见,除非划一下调度中心或者切一次 Space,否则点不回去。

这大概是 macOS 窗口管理里最让人困惑的一件事,一部分原因是你能搜到的办法并不管用。

窗口没被隐藏,是你把它留在后面了

macOS 应用进入全屏时,并不是简单地把自己撑满屏幕。系统会新建一个 Space,也就是一个独立的虚拟桌面,然后把这一个应用挪进去。

你的 Chrome 窗口还好端端待在你出发的那个桌面上,位置没变,也没关。你没有弄丢它,也没有把它压到谁后面。是你去了另一个桌面,而它不在这个桌面上。

这么一换角度,那些显而易见的办法为什么失效就清楚了:没有什么东西需要“调到前面”。问题不在窗口的排序,而在于你在错误的房间里。

为什么“指定给所有桌面”不管用

你最常搜到的建议是:右键 Dock 上的应用图标 → 选项 → 指定给 → 所有桌面。

这个设置是真实存在的,也确实有用——应用的窗口从此会跟着你在普通桌面 Space 之间走。如果你保留着三个桌面、用四指划来划去,这能让你不再把 Chrome 丢在一号桌面上。

但它对全屏没用。全屏应用的 Space 不是普通桌面,被指定给“所有桌面”的窗口不会出现在它上面。很多人试完发现切桌面时好使,就以为这招通用,下次进全屏又懵了一次。

画中画为什么就可以

值得看一眼,因为它指向真正的机制。

画中画里的视频能浮在全屏应用之上,音量提示和通知横幅也可以。这些不是靠名字被系统特殊照顾,它们就是普通窗口,只不过它们的拥有者给窗口设了一个标志,意思是“这个窗口可以出现在全屏应用之上”。用 AppKit 的话说,这是窗口的 collection behaviour,相关的那一位叫 fullScreenAuxiliary。

普通的 Chrome 窗口没有设它,而且没有任何用户可见的开关能把它打开,因为这是应用在创建每个窗口时做的决定。就这么回事:不是你缺了什么权限,也不是哪个偏好设置藏得深。这个窗口造出来的时候就没带那个标志。

所以任何真正的解法只有三条路:把另一个窗口放进同一个 Space、一开始就别用独立的 Space,或者用一个窗口设了那个标志的应用。

大多数人不知道的免费改法

别用全屏,改成填满屏幕。

macOS 有不止一种“把窗口弄大”的行为,而只有一种会新建 Space:

  • 点绿色按钮 → 全屏。新建 Space,上面说的全套问题都来了。
  • 填满(Fill) → 窗口覆盖整个桌面,菜单栏和程序坞都还在,而它仍然是当前桌面上的一个普通窗口。macOS Sequoia 及以后:fn + Control + F,或者“窗口”菜单 → 移动与调整大小 → 填满,或者悬停在绿色按钮上从面板里选“填满”。
  • 缩放(Zoom)(Option 点绿色按钮)→ 窗口放大到适合它的内容,不一定是整块屏幕。Safari 往往停在一个舒服的阅读宽度,访达按它的栏宽来。它同样把窗口留在你的桌面上,所以能解决同一个问题,只是可能没你想的那么大。这个行为在 macOS 里存在很多年了,所以 macOS 14 上你有的是它。

三种的结果是一样的:窗口变大,但仍然在你的桌面 Space 上,于是其他窗口在它周围的行为一切正常。Chrome 窗口就在那儿。Command-Tab 也还是你熟悉的样子。什么都不会消失。

对相当一部分自以为遇到了全屏问题的人来说,这就是全部的解法,而且不花钱。代价是菜单栏和程序坞还在——有人本来就更喜欢这样,也有人正是为了摆脱它们才用的全屏。

如果你确实需要全屏

有些工作方式就是要那个真东西:菜单栏没了,干扰没了。那么:

分屏把第二个应用放进同一个全屏 Space,和第一个平铺。系统自带、免费,而且把可见性问题彻底解决了。代价是它是一种承诺:两个应用,固定住,直到你把它拆掉。它更适合一段坐定的工作,不适合偶尔瞟一眼。

第二块屏幕绕开了整件事。全屏应用占一块屏,另一块照常是普通桌面,你的 Chrome 窗口在上面。

浮动浏览器是一个常驻最前、用来加载网页的小窗口,而它的窗口确实设了那个标志,所以能出现在全屏应用之上。常见的是 Helium 和 Float。你要看的就一个页面时很合适。

随叫随到的网页工作区是同一个思路但装得下更多页面:一个放着若干标签的面板,按快捷键出现在全屏应用之上,再按一下消失。Overlay 属于这一类。它只处理网页——如果你要看见的是原生应用窗口,这最后一组一个都帮不上忙,你该看的是分屏或者第二块屏幕。

小结

你想要的 这么做
让别的窗口够得着,其实并不真需要全屏 改用填满(fn+Control+F),或者 Option 点绿钮缩放
确实要全屏,另外一个应用,一段坐定的工作 分屏
确实要全屏,而且有第二块屏幕 把浏览器放过去
确实要全屏,一个网页,随用随开 浮动浏览器
确实要全屏,好几个网页,整天用 带全局快捷键的网页工作区
一个视频 画中画,本来就能用

下次有窗口在你进全屏时消失,记住没有东西坏掉,也没有东西被藏起来。是 macOS 把你的应用放进了它自己的房间,而把另一个窗口留在了上一个房间里。上面每一种办法,都只是在回答“每样东西该待在哪个房间”。

相关