はじめに
AeroSpaceは、macOS環境で使えるオープンソースのタイル型ウィンドウマネージャーです。本記事では、AeroSpaceを使いこなすために知っておくべきショートカットキーや設定などを、図を使いながら説明していきます。
背景
過去に私が AeroSpace を使おうとして一度挫折し、そこから何とか使えるようになった経緯について書いています。本記事の内容を理解するのに必須ではないので読み飛ばしていただいて構いません。もしご興味あれば、折りたたみを開いてご覧ください。
背景(私の最初のAeroSpaceドン引き体験...)
私の最初のAeroSpaceドン引き体験
AeroSpaceが便利!という噂を社内で聞き、業務で使っているmacOSに以下のコマンドでAeroSpaceをインストールしてみました。
brew install --cask nikitabobko/tap/aerospace
するとAeroSpaceが立ち上がった瞬間、デスクトップに開いていた沢山のウィンドウが細い縦長の形に変わり、左から右に整列されてしまいました...
上の画像はその様子を再現したものですが、当時はもっと沢山のウィンドウが短冊が折り重なるように並んでいました。
なんじゃこりゃ... どうすれば元に戻るの...
異常な状態に引いてしまい、原状回復するのに必死でした。AeroSpaceを止めて、次に誤って起動しないようにアンインストールして終了。これが私のAeroSpaceを最初に触った時の苦い体験でした。
AeroSpace再挑戦
それから約数ヶ月後、業務で自分の時間が少し取れる瞬間があったので、AeroSpaceを使うことに再挑戦しました。「短冊が沢山並んでしまうかもしれないけど、怖くないよ。ドキュメントを見れば解決するよ」と自分に言い聞かせながら。
AeroSpaceをインストールするとまたしても沢山の短冊が折り重なって並んでしまいましたが、Alt + ,(Option + ,) のショートカットキーで短冊が消えて、一つのウィンドウだけが表示されるようになりました。とりあえず、通常の画面に戻ることができて一歩前進です。
表示ウィンドウにターミナルが含まれている場合は、以下のコマンドで短冊を消すこともできます。
aerospace layout accordion
最初はキーボードショートカットによるウィンドウ操作に戸惑いましたが、使い始めてから一ヶ月が経つ頃には、かなり慣れてきました。むしろ、これまでマウスで行っていたデスクトップ上のウィンドウ配置の変更や表示ウィンドウの切り替えなどを、キーボードだけで操作できることを快適に感じるようになりました。また、これまでワークスペースを一つしか使っていなかったのですが、「表示するワークスペースの移動」や「ウィンドウの別ワークスペースへの移動」といった操作もキーボードで簡単に行えるため、複数のワークスペースを活用するようになりました。
AeroSpace導入のしきいを低くしたい
とは言え、使い始めの敷居の高さは否めません。そこで、本記事で「AeroSpaceで行える操作とショートカットの関係を図解でまとめよう!」と思い立ちました。
事前準備
以下の公式ドキュメントの記載内容にしたがってインストールします。
上記ドキュメントにも書かれていますが、コンフィグファイルは ~/.aerospace.toml に格納することをお勧めします。例えば以下のコマンドで、デフォルトのコンフィグファイルをコピーできます。
cp \
/Applications/AeroSpace.app/Contents/Resources/default-config.toml \
~/.aerospace.toml
コンフィグファイル(~/.aerospace.toml)を編集した後にその内容を反映するには、以下のコマンドを実行します。
aerospace reload-config
AeroSpaceを使う上で知っておくべきポイント
AeroSpaceを何の知識もなしに使い始めると、すぐにつまずいてしまう可能性があります。そこで、理解しておくべき概念と関連するショートカットキーについて説明します。
レイアウト(layout)
layoutは、ウィンドウの「並び方」を決める設定です。主に「tiles」と「accordion」の2種類があります。
tiles
tilesは、ウィンドウが重ならないように横または縦に並ぶレイアウトです。以下の図のように、横方向に並ぶ「tiles horizontal(h_tiles)」と、縦方向に並ぶ「tiles vertical(v_tiles)」があります。
最初にAeroSpaceを起動すると、既に起動していたウィンドウが短冊のように横に並んでしまうかもしれません。これはデフォルトのレイアウトが tiles のためです。この設定は、~/.aerospace.toml の以下で確認できます。
default-root-container-layout = 'tiles'
accordion
accordionは、複数のウィンドウを重ねて配置するレイアウトです。最前面のウィンドウがほぼ全面に表示されますが、その一つ後ろのウィンドウも左側または上側に少しだけはみ出て見えます。左側にはみ出すレイアウトは「accordion horizontal(h_accordion)」、上側にはみ出るのは「accordion vertical(v_accordion)」と呼ばれます。それぞれ図示すると、以下のようになります。
レイアウトの切り替え
これらのレイアウトの切り替えは、デフォルトの設定では以下のショートカットキーで行います。Alt キーは、macOSの Option キーに相当すると考えてください。
-
Alt + ,- accordion レイアウトに切り替える
- 既に accordion レイアウトの場合は、horizontal と vertical が切り替わる
-
Alt + /- tiles レイアウトに切り替える
- 既に tiles レイアウトの場合は、horizontal と vertical が切り替わる
ショートカットキーとレイアウトの切り替わり方の関係を図にしたものが以下です。
このショートカットキーの設定は、~/.aerospace.toml だと以下で確認できます。
alt-slash = 'layout tiles horizontal vertical'
alt-comma = 'layout accordion horizontal vertical'
tiling と floating
tiles と accordion は、デスクトップ画面を余すことなく使ってウィンドウを表示させるレイアウトです。これらは tiling と呼ばれる状態で使用できるレイアウトです。これに対して floating の状態では、従来のデスクトップ環境と同じように、ウィンドウを自由に動かしたりサイズを変えたりできます。多くの人が普段使い慣れている操作感に近い状態です。
あるウィンドウを floating 状態にするショートカットキーはやや複雑ですが、デフォルトでは Alt + : を押下した後に f を押すことで実現できます。floating のウィンドウを tiling に戻す場合も同様に、 Alt + : → f で実現できます。
~/.aerospace.toml では、以下の設定がショートカットキーに関連します。
[mode.main.binding]
...
alt-shift-semicolon = 'mode service' # サービスモードになる
...
[mode.main.binding]
...
f = ['layout floating tiling', 'mode main'] # Toggle between floating and tiling layout
...
なお、起動時に floating にしたいウィンドウは [[on-window-detected]] で設定可能です。以下は Finder アプリのウィンドウを floating にする例です。
[[on-window-detected]]
if.app-id = "com.apple.finder"
run = "layout floating"
ウィンドウの切り替え
デフォルトでは、ウィンドウの切り替えは次のように設定されています。
alt-h = 'focus left'
alt-j = 'focus down'
alt-k = 'focus up'
alt-l = 'focus right'
これらのショートカットキーを使うと、以下の図のようにフォーカス対象のウィンドウを変更できます。
図では tiles レイアウトを例に挙げていますが、accordion レイアウトでも基本的な挙動は同じです。例えば h_accordion レイアウトで Alt + h(focus left) を押すと、左側に少しだけ見えているウィンドウが最前面に移動し、フォーカスが移ります。
注意点として、horizontal layout の時に Alt + j(focus down)や Alt + k(focus up)を押下してもウィンドウのフォーカスは切り替わりません。vertical layout の時も同様に、 Alt + h(focus left)や Alt + l(focus right)は機能しません。
ウィンドウの位置変更
ウィンドウの位置変更は、デフォルトでは以下のコマンドで実現できます。
alt-shift-h = 'move left'
alt-shift-j = 'move down'
alt-shift-k = 'move up'
alt-shift-l = 'move right'
こちらも図で表してみます。
図からわかるように、Alt + Shift + hjkl の各キーで左下上右にフォーカスウィンドウを移動できます。
ウィンドウの位置変更は切り替え時とは異なり、レイアウトが horizontal や vertical に関係なく上下左右方向すべてに作用するため注意が必要です。例えば、horizontal layout でウィンドウが3つ横に並んでいる時に Alt + Shift + j(move down)を押すと、下図のようにレイアウトが入れ子の状態になってしまいます。Alt + Shift + k(move up)で元の状態に戻りますが、この状態で move left/right の操作をしても入れ子は解消されません。直感とは異なる動きをする可能性が高く、操作時に気をつける必要があります。
ワークスペース(workspace)
ワークスペースの定義
AeroSpaceではコンフィグファイルで以下のように書くことで、複数のワークスペースを定義できます。
alt-1 = 'workspace 1'
alt-2 = 'workspace 2'
alt-3 = 'workspace 3'
...
alt-a = 'workspace A'
alt-b = 'workspace B'
alt-c = 'workspace C'
...
ワークスペースの切り替え
~/.aerospace.toml に上のような設定が書かれている場合、例えば Alt + 2 と押下すると workspace 2 に切り替わります。
ちなみに私は普段2つのモニターを使っており、メインモニターはアルファベットのワークスペース(A,S,D,F,Gなど)を割り当てています。一方、数字のワークスペースは以下の設定を追加して、サブモニター専用で使うようにしています。
[workspace-to-monitor-force-assignment]
1 = 'secondary'
2 = 'secondary'
3 = 'secondary'
...
さらに参考ですが、ワークスペースは Alt + Shift + Tab で他のモニターに移動可能です。~/.aerospace.toml では次のように記載されています。
alt-shift-tab = 'move-workspace-to-monitor --wrap-around next'
ただし、先ほど紹介した [workspace-to-monitor-force-assignment] で特定のモニターを固定している場合、そのワークスペースは他のモニターに移動できない点に注意してください。
ウィンドウを別のワークスペースに移動
以下は、ウィンドウを別のワークスペースに移動するためのショートカットキーの設定例です。
alt-shift-1 = 'move-node-to-workspace 1'
alt-shift-2 = 'move-node-to-workspace 2'
alt-shift-3 = 'move-node-to-workspace 3'
...
alt-shift-a = 'move-node-to-workspace A'
alt-shift-b = 'move-node-to-workspace B'
alt-shift-c = 'move-node-to-workspace C'
...
alt-shift-s = 'move-node-to-workspace S'
...
例えば現在表示されているワークスペースがAの場合にAlt + Shift + s を押下すると、下図のようにフォーカスが当たっているウィンドウがワークスペースSに移動します。
おわりに
本記事でご紹介したショートカットキーを習得して Aerospace を使いこなせるようになれば、macOSでのウィンドウ管理はかなり快適になるでしょう。皆さまのmacOSの使用体験がさらに豊かになることを願っています。