Aerospace:macOS上强大的平铺窗口管理器


目录

使用缘由

在macos上,我们会遇到很多时候需要在同一个桌面内放上几个窗口的时候,然而这时,使用macbook或小屏显示器的用户经常会感到空间利用不足。

虽然macos自带的屏幕平铺可以满足我们对屏幕利用率的需求,但是每次都一个一个点,也太过麻烦了。

那么macos上有没有像linux一样有hyprlandnirii3sway之类的平铺窗口管理器呢?

带着这个想法,我找到了yabaiaerospace

为什么选择Aerospace

虽然yabaiaerospace更加成熟,发展时间也更长,但是现在来看,依然有许多弊端。快捷键需要搭配其他应用,窗口切换需要关闭sip…这让我感到苦恼。

反看aerospace,使用了一种十分独特的窗口逻辑,创造的工作区其实是在同一个桌面上创出的虚拟工作区。另外,aerospace还有独特的窗口逻辑,值得我们去研究研究。

如何安装Aerospace

我推荐使用homebrew安装,至于homebrew就不过多介绍了

  • 在安装了homebrew的情况下,打开终端,键入以下命令
brew install --cask nikitabobko/tap/aerospace
  • 安装完以后可以输入检查安装版本以及是否安装
aerospace --version

然后我们需要创建配置文件来管理aerospace

如何配置Aerospace

aerospace官方给出了两个配置文件加载地址,二者只能选择其一
分别在/.aerospace.toml/.config/aerospace/aerospace.toml

本文推荐第二种地址,方便管理
输入以下内容创建文件夹

mkdir .config/aerospace

然后将默认配置复制过来

cp /Applications/AeroSpace.app/Contents/Resources/default-config.toml ~/.config/aerospace/aerospace.toml

现在,你的aerospace就基本可以正常使用了,使用command + space搜索aerospace并打开,现在你可以发现顶部bar程序栏出现了一个数字 1,这便是aerospace代表的工作区,那么就可以看下面的文字继续精细配置了。

tips:如果你打开以后顶部bar没有出现aerospace的工作区,不要紧张,重启你的电脑也许可以解决问题

.config/aerospace目录下,我们可以看到一个aerospace.toml文件
使用你喜欢的文本编辑器打开它

找到start-at-login = ,在=后加上true,打开开机自启

此时,你多开几个应用,可以发现应用占满整个桌面并且自动平铺好了

但是我觉得窗口完全占满屏幕感觉不是很美观,所以可以找到[gaps]部分,可以看到一下内容

[gaps]
    inner.horizontal = 0
    inner.vertical =   0
    outer.left =       0
    outer.bottom =     0
    outer.top =        0
    outer.right =      0

将这些0改成5,你也可以自己定义大小

然后找到[mode.service.binding]部分,看到一下内容

[mode.service.binding]
    esc = ['reload-config', 'mode main']
    r = ['flatten-workspace-tree', 'mode main'] # reset layout
    f = ['layout floating tiling', 'mode main'] # Toggle between floating and tiling layout
    backspace = ['close-all-windows-but-current', 'mode main']

    # sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2
    #s = ['layout sticky tiling', 'mode main']

    alt-shift-h = ['join-with left', 'mode main']
    alt-shift-j = ['join-with down', 'mode main']
    alt-shift-k = ['join-with up', 'mode main']
    alt-shift-l = ['join-with right', 'mode main']

这个service是上文alt-shift-semicolon = 'mode service'定义的变量,你也可以自由更改。

按下alt/option + shift + ;进入服务模式,此时,菜单栏的图标左边会出现一个[s]的图标

我们看到[mode.service.binding]部分里的内容

  • 在service模式下,按下esc键可以重新加载配置,按下后,可以发现我们刚刚改的窗口边距生效了
  • 在正常模式下,我们按alt/option + 工作区数字或字母就可进入到对应的工作区

还有其他功能,可以参照官方文档

使用感想

在使用了近一个月后,我明显感觉到我的学习效率提升了。
虽然仍然有许些地方需要完善,但其所到来的正面反馈绝对是大于负面反馈的。

最后,享受你的平铺窗口体验吧!


文章作者: Dinzann
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Dinzann !
  目录