Amethyst - Mac 平台上手最简单的平铺窗口管理器

type
Post
status
Published
date
Oct 23, 2023
slug
Amethyst
summary
tags
Mac
Amethyst
窗口管理
icon

痛点

一直以来,在 Windows 平台还是 Mac 平台,我对桌面管理的理解就是:Win + 方向键,实现 1/4、1/2 窗口拼接。
在 MacOS 平台使用的是 Rectangle 这款开源软件,算是满足了我上面那种简单的”桌面管理”需求。
但最近在学习新技术的时候,我需要使用如下图布局:看视频、做笔记、代码验证,偶尔在查资料或视频讲到一些细节部分,我需要将左上角浏览器全屏以有更大的信息接受面积。
notion image
Rectangle 面对这种需求就无能为力,浏览器全屏之后还得我手动把它缩小到合适尺寸以嵌入它原本的空间。
至此,我开始寻求新的窗口管理软件。

探寻

  • Moom:收费,但我用了好一会连窗口控制都做不到;
  • LayAuto:部分免费,但我鼓捣了半小时,还是不会用;
  • Hammerspoon:这个是我一直在用的,我自己搓了不少窗口管理脚本。但这个东西在窗口管理时有个很膈应人的问题:如果一个窗口是 3/4 屏幕大小且居中显示,将它缩成右半屏幕时,这个窗口首先会缩成 1/2 屏幕大小,继续不左不右地停留在屏幕中间,只能再按一次右半边屏幕快捷键。整个体验很不爽,我因此换成了 Rectangle。
这些个软件都差不多,都是要靠人去主动管理各个窗口,所以包括 Windows 原生的”窗口管理”快捷键,都只是简单的窗口排列,离管理还差点意思。/

答案

在搜索如何解决 Hammerspoon 那个窗口问题时,我在 Youtube 上刷到了一个视频:Mouseless MacOS Window Management - Yabai vs Amethyst - YouTube
其中 Yabai 我试图尝试过,但”关闭 SIP(系统完整性保护)” 实在是不太安全,且工作用电脑不允许这样操作。
视频作者是这样形容 Amethyst 的:”正好满足我的需求”。
实话实说,在他展示 Amethyst 如何操作时,我完全没看懂,那个顺时针、逆时针换焦点非常让人困惑,但我隐隐感觉这就是我所追求的答案。

安装

下载

安装

  • 首先给辅助功能权限。
  • 然后点状态栏图标,relaunch 一下,开箱即用。默认四种布局。
    • 点击 preference 进入配置项。

使用

实话实说,这个软件在新手指引方面等于没有。
且里面的名词 pane、window、screen、space 非常让人困惑(我到现在都不确定我理解的是不是正确的)
 
学习使用这个软件抓住两点即可:
  • 把 Shortcuts 里的快捷键全部按一遍,看有什么效果。如果还是不理解可以多按几遍。
  • 只配置自己用到的功能,对我而言,那些第二个显示器都没用处,快捷键全部删了。
 
接下来是我个人探索该软件时的一些记录,可供参考:
  • main pane(主窗格):是一个位置。如下图所示,右侧这个红框是 main pane。当前虽然是 Arc 浏览器窗口占据,但可以把左侧 Chrome 窗口与它交换,让 Chrome 窗口成为 main pane。
    • notion image
  • window 是程序窗口。
  • screen 是 显示器。
  • focused 指的是当前程序,屏幕左上角苹果图标旁会显示。
 

配置快捷键

个人将 Capslock 设置为了 Hyper 键,长按相当于 shift + Ctrl + Option + Cmd 四个键组合,可参考:mac 使用 Karabiner 修改键位及自定义超级(Hyper)键 | insv の blog
以下快捷键均省去了 Hyper 键:
  • 布局循环:Space
  • (同屏幕内)焦点回到主窗口/主窗格:M
  • 当前焦点窗口与 main pane 中的窗口(称为 main 窗口)交换:F
  • 主窗格增缩小/增大: - / =
  • 移动焦点逆时针/顺时针:A / S
  • 将当前焦点窗口移到 左/右侧桌面:左/右
  • 展示当前布局:U
    • ⚠️ 要想能快捷键切换,layouts 必须选上相应布局
    • Tall 布局:T
    • Tall-Right布局:\
    • Wide 布局:Y
    • FullScreen:Enter(再按一次可恢复)
    • 切换为 Column:i
    • Floating:del

floating 浮动窗口

Amethyst 会强制把你刚刚打开窗口安排进它的窗口布局中去,但很多软件的窗口就是那么大,强行拉伸就会非常丑陋(例如系统设置),所以 Amethyst 提供了让某些窗口不受窗口布局影响(即浮动窗口)
notion image

尾巴

仔细理了一下我乱糟糟的桌面,主要还是所有事都放在一个桌面做:工作学习的窗口已经很多,还有很多 IM 工具,娱乐视频也都在那;更别提十几个浏览器窗口,自己找东西都找不到。
核心还是要养成在指定桌面打开对应软件的习惯(即不要破坏当前工作桌面布局)。
 

© insv 2021 - 2023