Mac如何仅显示当前桌面中处于活跃状态的应用程序?
没问题,这个需求完全可以实现!我给你分原生系统设置配合应用分配和第三方工具强化两种方案来讲解,你可以根据自己的需求选择:
一、原生系统基础实现(无需额外工具)
Mac本身没有直接让Dock按虚拟桌面过滤应用的选项,但可以通过「应用空间分配」+「仅显示打开的应用」的组合来接近效果:
开启“仅显示打开的应用”
打开「系统设置」→ 找到「桌面与程序坞」→ 往下翻到「程序坞」板块,勾选「仅显示打开的应用」。这时候Dock会隐藏所有未打开的应用图标,只显示正在运行的程序。给应用分配专属虚拟桌面
- 打开你要分配的应用,右键点击Dock上的图标→ 「选项」→ 「分配到」→ 选择对应的虚拟桌面(比如「桌面1」「桌面2」)。
- 同样在「桌面与程序坞」设置里,勾选「当切换到应用时,切换到包含该应用的空间」。
这样设置后,当你切换到某个虚拟桌面时,只有分配给这个桌面的应用会在当前空间运行,Dock也就只会显示这些应用了。不过这个方法有个局限:如果某个应用在多个桌面都打开了窗口,还是会在Dock里显示。
二、第三方工具精准实现(完全满足需求)
如果想要更精准的「仅当前桌面活跃应用」效果,可以用专门的工具,这里推荐两个好用的选项:
1. uBar
uBar是一款替代原生Dock的工具,它支持按虚拟桌面过滤应用。你可以在设置里开启「Space Awareness」,这样uBar只会显示当前空间里的活跃应用,完美符合你的需求。而且它还支持自定义布局、窗口管理,功能很全面。
2. DockShelf
DockShelf可以给Dock添加“Shelf”,每个Shelf对应一个虚拟桌面,你可以把不同桌面的应用拖到对应的Shelf里,切换桌面时会自动切换显示的Shelf,实现仅当前桌面应用的显示效果。
另外还有一个免费小工具「SpaceDock」,它可以在菜单栏显示当前空间的应用列表,也能间接实现类似效果,不过功能相对简单。
终端命令小技巧(进阶)
如果你不想用第三方工具,还可以通过终端命令让Dock在切换空间时自动刷新,只显示当前空间的应用:
defaults write com.apple.dock show-only-active-apps -bool true killall Dock
这个命令就是开启「仅显示打开的应用」,再结合前面的应用空间分配,就能最大化接近你的需求。如果要恢复默认,把true改成false再执行一次即可。
内容的提问来源于stack exchange,提问作者Eric Shreve

