在 macOS 上,要做到如 Windows 般的視窗管理需要倚賴 Magnet, Moom 等軟體。但是每次打開軟體視窗,或多或少還是需要滑鼠或觸控板手動指定位置及大小,稍嫌不夠直觀。回憶起賞玩 Linux 歲月聽過的:Tiling Window Manager - 平鋪式視窗管理員,就尋找看看 macOS 上有沒有類似之物。

平鋪式視窗管理員的特點是,程式的新視窗會依據設定好的規則自動佈局,如當前的桌面的第一個視窗自動最大化,再有下一個新視窗時便自動分割成一半一半分割成兩邊,如果再一個視窗右邊在分割成上四分之一及下四分之一自動佈局。

Amethyst-example

Amethyst及 yabai 皆是搜尋到的結果,其中 yabai 設定較為進階,需要打開 macOS system integrity protection 才能使用,安全方面有疑慮,筆者便嘗試使用對新手較友好的 Amethyst。

下載安裝

可以從Github 下載或者 Homebrew 安裝

brew cask install amethyst

操作預覽

啟動 Amethyst 以後,新出現的視窗就會根據預設的規則自動排列,關掉視窗也會自動恢復。

Autoresize_example

簡易設定

由於筆者不太想花時間了解每種自動佈局的規則,便只使用預設的,也並沒有搞懂快速鍵切換不同規則的打算。筆者的主要設定有:

設定視窗間距,不然視窗陰影的關係完全重疊起來有點怪。

Windows_borde

視窗黑名單,有些視窗一出現就自動最大化會怪怪的,所以設定黑名單。

Floating_window_blacklist

使用經驗及Bug

Amethyst 對一些使用 electron 寫成的 App 無法偵測,另外 Github 上 issue 也有人回報 Jetbrain 家的 App 也會有問題。不過至少日常使用還可勝任。想好一個桌面要開的 App 以後,兩邊自動對半分或者一邊二分之一,一邊上下四分之一顯示都是常見的情境。

筆者使用的是一台 mac mini 搭配搭配 Retina 解析度的27’ 4K 螢幕,因此螢幕空間才足夠一個畫面容納多個軟體視窗同時顯示。如果畫面空間太小,並不推薦分割太多。