细心观察的话,每个人用电脑工作时都会有常用的软件,有些人甚至会将不同的软件以固定的大小和位置平铺在桌面上。
将这些软件打开,再调整到预设的位置和大小是非常适合机器去做的事。通过 Keyboard Maestro,你将能够做到设一个快捷键,将软件以你想要的大小和位置,铺在桌面。
如果你清楚 Keyboard Maestro 如何工作,可以直接查看完整动作图示,或者直接下载动作。如果你想知道每一步的来由,可以看下面的教程。 首先,设定一个触发快捷键
在这个动作里,这个快捷键相当于所谓的老板键。不管你屏幕上现在铺着多少窗口,只要按下这组快捷键,所有窗口都会消失,工作的软件会铺回桌面。
在 Keyboard Maestro 里,要在 New Trigger 里选择 Hot Key Trigger ,然后直接输入你想使用的快捷键。我在这里设的是 ⌘Command-⇧Shift-⌃Ctrl-W。
第一步,隐藏所有其它软件
Keyboard Maestro 里有内置的隐藏所有软件的动作,叫做 Hide All Applications。使用方法就像用 Workflow 那样,从动作库里把动作拖到动作流中即可。
第二步,选择要打开软件
这一步也很容易,在动作库里找到 Open a File, Folder or Application,把它拖到动作流,选择要被打开的软件即可。
第三步,调整软件窗口的大小和位置
现在我们已经可以做到用快捷键把软件打开了。接下来是核心的一步,也是相对比较难搞的一步。我们要在这一步决定窗口的大小和位置。
Keyboard Maestro 中针对窗口大小和位置当然也有现成的动作:Move and Resize Front Window
这个动作里首先已经内置了不少窗口的排列方式,比如常见的上下左右半屏、或者四分之一大小:
如果这些尺寸可以满足你的话,你只要在这一步把软件窗口的大小和位置设定好即可。如果你想做自定义,可以选择上图中 Custom 这个值。在这里我们就要接触到 Keyboard Maestro 中设定窗口位置和大小的语法了,Keyboard Maestro 的官方 Wiki 中对这些语法有详细的说明,我在这里只介绍我们会用到的。 SCREENVISIBLE:屏幕的有效显示区域,去除了 Menu Bar 和 Dock
Main:主窗口
Left, Top, Width, Height:各自代表它们本身的意思
百分数:在 Left 和 Top 的部分,百分数代表距离对面边缘有多远,计算都是从左到右从上到下。比如下面会出现一个 SCREENVISIBLE(Main,Right)*35% ,它代表距离屏幕左边缘有屏幕宽度的 35%。
Keyboard Maestro 调整窗口位置和大小时也支持绝对座标,但是考虑到不同设备有不同的分辨率,我还是比较建议用百分比来调节位置。
选择完窗口的位置和大小,还要指定该调整作用的软件(上图的最下部)。否则 Keyboard Maestro 是不知道你要调整哪个软件的窗口的。
第四步,同时调整多个软件的窗口
前三步大家搞定了如何对一个窗口一键调整大小和位置,接下来我们要完成一键让多个软件做到这一点。
我们可以先把打开软件和调整窗口这两个动作多放几个:
按照我们人类的思维,这样做其实没什么毛病:把要打开的打开,然后再挨个排列窗口。但实际我们运行这个动作,就会发现,这个动作运行完以后,软件会打开,有的窗口会排列,有的窗口不会。问题出在哪?
问题在于,因为机器的性能不同,打开软件的快慢并不一样。而跑命令对于计算机来说都是瞬间跑完的。于是就会出现「我们还没打开某一个软件,Keyboard Maestro 却已经执行了调整它窗口的命令」这种情况,结果自然就会无效。所以我们在这里,要做的是让命令等一等软件的启动。
Keyboard Maestro 里有一个动作叫 Pause Until,它的作用就是将一个动作流暂停,等到运行情况满足了某个条件,再将动作继续。我们在这里要等的条件是:当所有要调整窗口的软件都在运行状态时,再调整它们的窗口。
所以我们要把这个动作,插在打开窗口和调整窗口的动作之间,把其中的条件,设为「所有要被调整窗口的软件都在运行」。
为了截图方便,只用了两个软件作为范例。如果你 Mac 的屏幕够大,运行速度够快,是想铺多少个软件就可以铺多少个的。