#ワークスペースグループ

ワークスペースグループを使うと、ワークスペースをサイドバー内の折りたたみ可能な名前付きセクションにまとめられます。各グループには暗黙の「アンカーワークスペース」、グループ内に新しいワークスペースを生成するためのカスタマイズ可能な + ボタン、名前変更・ピン留め・グループ解除・設定編集を行う右クリックアクションがあります。

#概念

#アンカーワークスペース

各グループは「アンカー」と呼ばれる 1 つのワークスペースが所有します。サイドバーのグループヘッダーがアンカーそのものを表し、専用の行は別に存在しません。ヘッダーの名前部分をクリックするとアンカーのパネルにフォーカスし、シェブロンをクリックすると折りたたみを切り替えます。

アンカーはグループ作成時に常に新規作成されます。既存のワークスペースが昇格してアンカーになることはありません。アンカーの作業ディレクトリは、選択範囲をグループ化する場合は最初に選択したワークスペースから、--cwd なしで CLI から作成する場合はアクティブなワークスペースから引き継がれます。

アンカーワークスペースを閉じるとグループは解散します。他のすべてのメンバーはグループ化されていないワークスペースとなり、タブ一覧に残ります。アンカー自体以外は何も閉じられません。この処理の前に、アプリは「今後表示しない」トグル付きの確認ダイアログを表示します。

#グループの識別情報

グループには名前、アイコン(SF Symbol、デフォルトは folder.fill)、および任意のカスタムカラーがあります。これらはアンカーワークスペース自身のカスタマイズとは独立しています。アンカーの色とアイコンは作成時にグループから初期設定されますが、その後は別々に変更できます。

#ピン留め

グループは個々のワークスペースのピン留めとは独立してピン留めできます。ピン留めされたトップレベルの行は、個々のワークスペースであれグループであれ、ピン留めされていない行より上に表示されます。各層の中では、グループとワークスペースはドラッグした順序を保ちます。

サイドバーはトップレベルの行を上から下に次のように配置します。

  1. ピン留めされたトップレベルの行(ワークスペースとグループ)。
  2. ピン留めされていないトップレベルの行(ワークスペースとグループ)。

#グループの作成

グループは 2 つの方法で作成できます。キーボードショートカット、またはワークスペースのコンテキストメニューです。どちらも選択範囲の上に新しいアンカーワークスペースを挿入し、選択したワークスペースをグループに移動します。グループが作成された後は、グループヘッダーからグループを管理したりワークスペースを追加したりできます(後述の「グループの管理」を参照)。

#キーボードから(⌘⇧G)

サイドバーで 2 つ以上のワークスペースを選択し、⌘⇧G を押します。選択範囲の上に新しいアンカーワークスペースが挿入され、選択したすべてのワークスペースが子になります。グループは Group 1、Group 2 のように自動的に名前が付けられ、ヘッダーのコンテキストメニューからいつでも名前を変更できます。

⌘⇧G は React Grab のデフォルトと競合します。グループハンドラーは、サイドバーで 2 つ以上のワークスペースが明示的に複数選択されている場合にのみこのショートカットを消費するため、単一選択時やブラウザ・ターミナルのコンテキストでは React Grab が引き続き動作します。2 つでキーを共有させたくない場合は、設定 → キーボードで再割り当てしてください。

単一タブのグループはショートカットからは作成されません。それには、ワークスペースのコンテキストメニューの「ワークスペースからグループを作成」項目を使用してください。

#ワークスペースのコンテキストメニューから

サイドバーで任意のワークスペースを右クリックし、「ワークスペースからグループを作成」を選択するか、複数のワークスペースが選択されている場合は「選択からグループを作成」を選択します。これはショートカットと同じ自動命名の動作を使用します。

#グループの管理

グループが作成された後は、ヘッダーのコンテキストメニューとヘッダーの + ボタンを使って、グループの管理やワークスペースの追加ができます。どちらも新しいグループは作成しません。

#グループヘッダーのコンテキストメニューから

既存のグループヘッダーを右クリックすると、「グループ名を変更…」、「グループをピン留め」/「グループのピン留めを解除」、「グループ設定を編集…」(~/.config/cmux/cmux.json を開きます)、「ワークスペースグループのドキュメントを開く」、「グループ解除(ワークスペースは残す)」、および「グループを削除(ワークスペースを閉じる)」が表示されます。削除は破壊的な操作で確認を求められます。グループ解除はワークスペースを残し、コンテナを取り除くだけです。

#グループヘッダーの + ボタンから

グループヘッダーにカーソルを合わせると、末尾に + ボタンが表示されます。それをクリックすると、アンカーの作業ディレクトリでグループ内に新しいワークスペースを作成します。右クリックすると、「グループに新しいワークスペース」、「グループ設定を編集…」、および「ワークスペースグループのドキュメントを開く」が表示されます。

アクティブなワークスペースがグループのアンカーまたはメンバーのときに ⌘N を押しても、新しいワークスペースがそのグループ内に作成されます。デフォルトの配置は After current です。通常のグループメンバーからはアクティブなメンバーの直後に、アンカーまたはヘッダーからはグループの先頭に新しいワークスペースが配置されます。

#CLI

すべてのグループ操作は cmux workspace-group サブコマンドでスクリプト化できます。ハイフン形式が先に提供されます。より広い cmux workspace コマンド名前空間が登場すると、cmux workspace group が正式な形式となり、ハイフン形式は今後ずっとエイリアスとして残ります。

#サブコマンド

cmux workspace-group list [--json]
cmux workspace-group create --name "manaflow" [--cwd ~/projects/manaflow] [--from <id>,<id>]
cmux workspace-group ungroup <group-id>
cmux workspace-group delete  <group-id>
cmux workspace-group rename <group-id> --name "new name"
cmux workspace-group collapse <group-id>
cmux workspace-group expand <group-id>
cmux workspace-group pin <group-id>
cmux workspace-group unpin <group-id>
cmux workspace-group add --group <group-id> --workspace <workspace-id>
cmux workspace-group remove --workspace <workspace-id>
cmux workspace-group set-anchor --group <group-id> --workspace <workspace-id>
cmux workspace-group new-workspace <group-id> [--placement afterCurrent|top|end]
cmux workspace-group set-color <group-id> --hex "#7A4FD8"
cmux workspace-group set-icon  <group-id> --symbol ladybug.fill
cmux workspace-group move <group-id> (--to-index <n> | --before <group-id> | --after <group-id>)
cmux workspace-group focus <group-id>

create はグループハンドル(デフォルトでは workspace_group:N)を返します。完全な構造化ペイロードを得るには --json を渡してください。

set-color または set-icon に空の値を渡すと、グループの色やアイコンをクリアします。delete は元に戻せません。すべてのメンバーワークスペースを閉じます。

#

現在選択しているワークスペースを名前を付けてグループ化します。

cmux workspace-group create --name manaflow

既存のグループ内に新しいワークスペースを作成します(例: worktree スクリプトと連携)。

cmux workspace-group new-workspace workspace_group:1

フォーカスされているウィンドウ内のグループを一覧表示します。

cmux workspace-group list

#設定

グループごとの設定は、~/.config/cmux/cmux.json 内の workspaceGroups キーに置かれ、アンカーワークスペースの作業ディレクトリをキーとして照合されます。対応しているキー(グローバルな新規ワークスペースの配置や、ディレクトリごとの色・アイコン・配置・コンテキストメニューのアクションなど)については、設定リファレンスを参照してください。

workspaceGroups 設定リファレンス

#永続化

グループの名前、アンカー、ピン留め状態、折りたたみ状態、色、アイコンはワークスペースとともに保存され、起動をまたいで復元されます。グループのメンバーシップは各ワークスペースに保存されます。