Mac实用技巧之:窗口管理

Mac实用技巧之:窗口管理

其实这里说到的内容,在之前的文章中或多或少都提到过,只不过这里全部集合起来一起讲了。但由于小技巧很多,有可能有些东西虽然我知道,但是写的时候会漏掉,大家可以评论指出,我会添加上去。

一些术语

活跃程序与非活跃程序

活跃程序:一般来说,位于最前面的,你当前正在操作(正在使用)的程序,就是活跃程序,顶部菜单显示的就是当前活跃程序的菜单
-w1440

非活跃程序:活跃程序任何时候只有一个,除了活跃程序,其它都是非活跃程序,在绝大多数情况下,活跃程序的窗口会挡住它后面的非活跃程序窗口。

少数软件有“置顶”的功能,比如IINA播放器就有这个功能,点击右上角的“小图钉”按钮,即可把该窗口一直保持在顶层,这样你才可以边做其它事边看视频,此时播放器虽然不是“活跃程序”,但它还是保持在最前面
-w1440

置顶程序可以有多个,而且一个置顶程序窗口也可能被另一个置顶程序窗口遮挡,但无论是哪个置顶程序,它一定不会被非置顶程序遮挡

没有窗口的活跃程序:当一个程序的窗口被关闭或最小化时,就看不到它的窗口了,然而该程序还是活跃程序,这一点可以从“顶部菜单栏还是该程序的菜单”能体现出来。

之所以讲活跃程序,是因为快捷键都是作用于当前的活跃程序的(全局快捷键除外)

全屏窗口

点击程序窗口左上角第三个绿色的按钮,即可全屏该窗口。全屏一个窗口,会自动创建一个桌面并让该程序窗口单独占用这个桌面,窗口铺满整个屏幕,在全屏模式下,你看不到顶部的菜单栏也看不到底部的程序坞,更看不到程序窗口本身的标题栏。

如下图,全屏的窗口会新开一个桌面(当然你也可以先进入调度中心,再把你想全屏的窗口拉到上边,它会自动出现+号,这样这个窗口一样能全屏)

最大化窗口

窗口铺满除了顶部菜单栏和底部的程序坞外的所有空间。当然如果你设置了自动隐藏菜单栏或程序坞,则窗口最大化也会占用菜单栏或程序坞的位置,但最大化一定能看到标题栏。

事实上macOS并没有“最大化”这种说法,这是我参考Windows的说法来说的。因为这个很多人都需要,但它却没有。

使用第三方软件Spectacle实现最大化窗口

最小化窗口

就是缩小到程序坞,点击程序窗口左上角第二个黄色的按钮即可,这个应该没多少人不知道。但需要注意的是,程序窗口被最小化后,它还是活跃程序(意味着你现在按快捷键还是会作用于该程序,当然全局快捷键除外)

关闭窗口

macOS的程序和窗口是分开的,窗口关闭了,程序并不会关闭,一个典型的标志是,你看不到窗口,但是你在左上角菜单栏中看的到它的菜单,这说明你当前还在这个程序上,当前“活跃”的程序就是菜单栏上那个,只不过它的窗口都关闭了而已。所以我自己把“关闭的窗口”也称为一种窗口,因为后面要讲到如何切换出这个“已经关闭的窗口”。
关闭窗口

隐藏程序

大家要注意,我前面说了:全屏窗口、最大化窗口、最小化窗口、关闭窗口,但是到了隐藏,为什么不说“隐藏窗口”而说“隐藏程序”呢?这有什么不一样吗?

确实不一样!很软件(程序)都是可以打开多个窗口的,比如访达、各种浏览器、编辑器等等,都可以打开多个窗口,前面的全屏、最大化、最小化、关闭等等,都是针对单个窗口的,而隐藏却不是,隐藏是针对程序的,也就是说,无论你这个程序开了几个窗口,只要你按隐藏快捷键cmd+H(隐藏只能用快捷键),那么这个程序的所有窗口都会被隐藏,因为隐藏的是整个程序。

无论开了几个窗口,按下cmd+H会隐藏整个程序(程序都被隐藏了,它的所有窗口自然也都看不见了)

当程序被隐藏后,它就会变成非活跃程序,程序列表(就是cmd+tab出来的那个列表)中的下一个程序会接替它成为活跃程序,如果程序列表没有程序(也就是你隐藏该程序后只剩桌面),那么访达将会接替它成为活跃程序,为什么呢?因为桌面也是访达的一个文件夹,它是在/Users/你的用户名/Desktop/里,由于你隐藏该程序后只剩桌面,就相当于是在访达的/Users/你的用户名/Desktop/文件夹里,它当然就显示访达了。

被隐藏的程序可以用cmd+tab能切换出来
hide window.gif

一些基本操作

将窗口最小化为应用程序图标

在程序坞右侧靠近废纸篓的地方有一根分隔线,默认情况下,如果你点击某个程序窗口的最小化按钮(左上角中间黄色按钮),它会最小化到这个分隔线的右侧,这样会导致程序本身在程序坞中占一个位置,而打开的窗口又占用一个位置。

而且一个程序可以打开多个窗口,每个窗口都会各自占用一个。当然,如果你没有最小化,而是打开了窗口或者隐藏窗口,它就不会占用这个位置,也就是说,只有最小化窗口才会占用。

不过,即使设置了“将窗口最小化为应用程序图标”,也有些程序会被最小化到分隔线右侧,原因是,这些程序只有菜单栏,没有程序坞图标,既然程序坞没有图标,它自然也就无法最小化到程序坞的图标中。

如下图所示
-w1440

有些人可能会问,可是我的程序坞怎么有两条分隔线?
image.jpg

这是因为它默认是显示“最近打开的程序”,说实话,我个人是不喜欢这个,所以我都是把它关掉的,怎么关呢?系统偏好设置→程序坞与菜单栏→左侧选择“程序坞与菜单栏”→右侧取消勾选“在程序坞中显示最近使用的应用”即可。


现在来说一下,怎样设置“最小化的时候直接最小化到程序图标本身”,在:系统偏好设置→程序坞与菜单栏→左侧选择“程序坞与菜单栏”→右侧勾选“将窗口最小化为应用程序图标”即可。

勾选“将窗口最小化为应用程序图标”和未勾选的区别:

预览程序坞窗口

我们知道,Windows系统中,鼠标放在任务栏中打开的程序上面,会显示它的预览窗口,鼠标再移动到预览窗口,就可以预览该窗口。

然而,macOS并没有这个功能,如果需要实现这个功能,需要借助第三方软件。在以前可以用HyperDock,这个软件不仅能预览程序坞中的窗口,还能让窗口实现Windows的碰到左右上三个边时,分别居左、居右、最大化。但是,这个软件在新版的macOS中不行了,作者一直没有更新。

现在可以用DockMate这款软件,它只能预览,不能实现窗口碰左右上边的效果,而且是收费软件。至于怎么下载、怎么安装,可以查看我这篇文章:Mac实用技巧之:三种安装/卸载/更新软件的方式及其优缺点,注意,文章不讲某个软件怎么安装,而是讲通用的安装方法,任何软件都可以按文章介绍的方法安装。

DockMate实现预览程序坞窗口效果

注意,点击预览窗口时,虽然可以显示该窗口,但有一种情况不能显示,就是窗口被关闭的程序(比如点击左上角的x或者按cmd+w关闭)。

实现窗口Windows碰边效果

我们知道,拖动Windows的窗口碰到左右上三个边时,分别居左、居右、最大化,macOS本身没有这个功能,需要借助第三方软件实现。

这一类的软件有很多,我推荐开源免费的Rectangle,它是基于之前的Spectacle,因为Spectacle是个人开发者开发的开源应用,他由于自己的原因没有时间和精力继续维护下去,所以就停止了更新。

至于Spectacle怎么下载、怎么安装,可以查看我这篇文章:Mac实用技巧之:三种安装/卸载/更新软件的方式及其优缺点,注意,文章不讲某个软件怎么安装,而是讲通用的安装方法,任何软件都可以按文章介绍的方法安装。

Spectacle的使用技巧
碰撞顶部放大时,不能太快也不能太慢,太慢的话Spectacle识别不到,无法放大;太快的话,虽然Spectacle能识别,但这会与系统自带的创建桌面功能冲突(我不知道这个功能从什么时候开始有,但我是Big Sur 11.5.1),所以放大的技巧是:拖着窗口以合适的速度碰向顶部并且不放开鼠标停留一下,等它放大后再放开鼠标。

而拖出来的时候,也不要马上放开鼠标,要稍微停留一下,等窗口缩小到原来大小后再放开鼠标,否则Spectacle无法把窗口调整到放大前的大小。

速度太快会直接进入创建桌面

使用cmd+tab无法切换程序问题

我们都知道,Windows的alt+tab可以用于快速在两个窗口之间切换,而在macOS中,也有这个操作,只不过它是cmd+tab,但事实上,macOS的cmd键刚好就是Windows的alt键的键位,所以使用起来完全一样。

但我相信很多人都遇到过,cmd+tab经常无法切换出一个程序的窗口,如下所示

上边视频中,一开始我可以用cmb+tab正常切换,但是当我把TextEdit(系统自带软件,叫“文本编辑器”)最小化后,再用cmd+tab切换就无法把TextEdit切换出来了,这是为什么呢?

因为cmd+tab切换的并不是窗口,而是“程序”!你可以再仔细看看上边的视频,并注意顶部菜单栏左上角的菜单,TextEdit真的无法切换出来吗?事实上,我们可以看到,当我们按cmd+tab切换的时候,我们可以看到顶部菜单栏一直在“YouDaoDict”和“TextEdit”之间切换,所以cmd+tab是切换成功了的。你可以试试在切换到TextEdit后,按快捷键cmd+N,是不是能创建一个TextEdit窗口?前面讲活跃程序时说过,快捷键作用的对象就是活跃程序(全局快捷键除外),因为当前活跃程序是TextEdit,所以你按cmd+N自然就是新建一个TextEdit窗口了。

那为什么切换成功了,却又看不到窗口呢?大家可以再回看视频,当我把TextEdit最小化后,顶部菜单栏的菜单是没有变化的,也就是说,你当前还是在TextEdit程序上,当前活跃程序还是TextEdit,此时我们按cmd+tab,切换到了YoudaoDit(即有道词典),再次按cmd+tab它又会回到TextEdit,而因为你之前切换出去的时候,窗口就是处于缩小状态的,所以现在切换回来了,它肯定还是缩小状态。

这就是为什么macOS的cmd+tab经常切换不出窗口的原因!其实除了缩小,关闭窗口也是一样的,因为窗口被关闭了,所以切换回来时,是无法看到窗口的,但它确确实实是切换回来了,因为顶部菜单栏里都已经显示这个软件的名称和菜单了。


那有没有办法解决由于窗口被关闭或被最小化而导致的cmd+tab切换回来不显示窗口的问题呢?办法肯定是有的,这又要用到我们经常提起的“神奇的opion键”!

方法是:先用cmd+tab选中该程序,在按住cmd不放的情况下,先用食指按住option键,再放开cmd,在放开cmd的瞬间,最小化的或被关闭的窗口就会出来,窗口出来之后就可以放开option键了。

总结cmd+tab作用对象是程序,而不是窗口,你从当前程序切换到其它程序的时候,如果当前程序是没有窗口的(关闭了或最小化了),那么你再次切换回来时,它一样是没有窗口的,但它确确实实是切换回这个程序了(可以看顶部菜单栏的菜单和用快捷键验证)。想要恢复窗口,要先按住option再放开cmd。

使用调度中心切换程序

调度中心,英文叫Mission Control(直译是“任务控制”),进入调度中心的方法有五种:

  • 1、按F3
  • 2、control+↑
  • 3、触控板三指/四指上滑(默认三指)
  • 4、妙控鼠标双指轻拍
  • 5、使用触发角

需要注意的是,调度中心只能显示窗口已经在桌面的程序,窗口被隐藏、关闭、最小化的程序,都不会显示在调度中心里。

调度中心

切换同一个程序的多个窗口

  • 1、cmd+反引号
  • 2、右击程序坞中的程序再从弹出的菜单中选择
  • 3、使用Exposé:切换到该程序后三指或四指(默认三指)下滑(或使用快捷键control+↓control+F3)

注意:像浏览器打开多个标签,并不属于多个窗口,而是属于一个窗口打开多个标签。另外,“Exposé”这个单词我真不知道怎么翻译,曝光程序窗口?好像有这么个意思,反正它就是把一个程序的多个窗口列出来,让你可以选择,具体操作一下就知道了。

多桌面及其切换

进入调度中心后,把鼠标移动到顶部,即可显示多桌面,右侧有“+”号可以创建新桌面。

创建桌面

注意,如果一个程序在其它桌面已经有窗口,那么你点击它,会返回它的所有桌面,需要你想它的其中一个窗口在新桌面,必须从原桌面中把它拖到新桌面(拖着窗口快速碰撞顶部即可进入桌面选择)。

切换到某个桌面的方法

  • 1、三指/四指左右移动;
  • 2、control+→/←
  • 3、妙控鼠标双指左右滑动
  • 4、先进入调度中心,再用鼠标点击要切换的窗口

关闭某个桌面

  • 如果桌面是你在调度中心手动点+号创建的,那么再次进入调度中心,鼠标放在桌面小图标上,它左上角会有个x,点这个x即可关闭该桌面。
  • 如果桌面是你全屏一个程序窗口创建的(程序全屏会自动创建一个新桌面并且该程序会单独占用该桌面),也是进入调度中心,鼠标放在桌面小图标上,只不过这次它的左上角显示的不是x号,而是“取消全屏”的图标,点击它,该程序就会自动取消全屏,并且这个桌面也会并关闭。

显示桌面

显示桌面的几种方法

  • 1、触控板五指分开(只有笔记本或购买了外接触控板可用)
  • 2、使用触发角
  • 3、按cmd+F3
  • 4、按F11Fn+F11(默认为Fn+F11,如果你设置让F1,F12为标准功能键,那么直接按F11就行)。

真正显示桌面
其实,大家肯定发现了,macOS的显示桌面跟Windows的不一样!那如果我想用Windows那种显示桌面要按什么快捷键?答案是:没有!

是的,macOS默认没有像Windows那样的显示桌面,如果你需要这个功能,那就要借助第三方软件了,我是借助Alred外加自己写的插件来实现的。

先安装Alfred,然后下载我写的插件:Show-Desktop.alfredworkflow,在已经打开Alfred的情况下,双击该插件即会提示添加到Alfred。


如何安装Alfred?:如果你看过我的Mac实用技巧之:三种安装/卸载/更新软件的方式及其优缺点这篇文章,你应该很清楚要怎么安装Alfred!如果不知道,那就去看一遍,因为Alfred并不是什么特殊的软件,安装方法跟其它软件是一样的。

至于安装后要进行的一些设置,可以看我这篇文章:Mac实用技巧之:聚焦搜索/Spotlight Search & Alfred


使用方法及原理
安装完插件后,因为我给它的默认快捷键为Shift+cmd+D,按这个快捷键即可显示桌面,首次使用需要授权(macOS中所有软件首次使用都需要授权)。

该插件的原理是,先打开访达,然后按option+cmd+h隐藏除访达外的所有窗口,最后再用cmd+h隐藏访达窗口,以达到隐藏所有窗口的目的,只不过是用快捷键调用程序实现了。

显示桌面效果如下图:

移动非活跃程序的窗口

一般情况下,如果我们移动一个非活跃窗口,就用鼠标移动就好了,这个应该没有人不会,但关键是,这个被移动的程序肯定会变成活跃程序。

如果想移动一个窗口但又保持这个程序为非活跃程序,可以按住cmd键再移动。

打赏

订阅评论
提醒
guest

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请发表评论。x
()
x

扫码在手机查看
iPhone请用自带相机扫
安卓用UC/QQ浏览器扫

Mac实用技巧之:窗口管理