#ワークスペースグループ
ワークスペースグループを使うと、ワークスペースをサイドバー内の折りたたみ可能な名前付きセクションにまとめられます。各グループには暗黙の「アンカーワークスペース」、グループ内に新しいワークスペースを生成するためのカスタマイズ可能な + ボタン、名前変更・ピン留め・グループ解除・設定編集を行う右クリックアクションがあります。
#概念
#アンカーワークスペース
各グループは「アンカー」と呼ばれる 1 つのワークスペースが所有します。サイドバーのグループヘッダーがアンカーそのものを表し、専用の行は別に存在しません。ヘッダーの名前部分をクリックするとアンカーのパネルにフォーカスし、シェブロンをクリックすると折りたたみを切り替えます。
アンカーはグループ作成時に常に新規作成されます。既存のワークスペースが昇格してアンカーになることはありません。アンカーの作業ディレクトリは、選択範囲をグループ化する場合は最初に選択したワークスペースから、--cwd なしで CLI から作成する場合はアクティブなワークスペースから引き継がれます。
アンカーワークスペースを閉じるとグループは解散します。他のすべてのメンバーはグループ化されていないワークスペースとなり、タブ一覧に残ります。アンカー自体以外は何も閉じられません。この処理の前に、アプリは「今後表示しない」トグル付きの確認ダイアログを表示します。
#グループの識別情報
グループには名前、アイコン(SF Symbol、デフォルトは folder.fill)、および任意のカスタムカラーがあります。これらはアンカーワークスペース自身のカスタマイズとは独立しています。アンカーの色とアイコンは作成時にグループから初期設定されますが、その後は別々に変更できます。
#ピン留め
グループは個々のワークスペースのピン留めとは独立してピン留めできます。ピン留めされたトップレベルの行は、個々のワークスペースであれグループであれ、ピン留めされていない行より上に表示されます。各層の中では、グループとワークスペースはドラッグした順序を保ちます。
サイドバーはトップレベルの行を上から下に次のように配置します。
- ピン留めされたトップレベルの行(ワークスペースとグループ)。
- ピン留めされていないトップレベルの行(ワークスペースとグループ)。
#グループの作成
グループは 2 つの方法で作成できます。キーボードショートカット、またはワークスペースのコンテキストメニューです。どちらも選択範囲の上に新しいアンカーワークスペースを挿入し、選択したワークスペースをグループに移動します。グループが作成された後は、グループヘッダーからグループを管理したりワークスペースを追加したりできます(後述の「グループの管理」を参照)。
#キーボードから(⌘⇧G)
サイドバーで 2 つ以上のワークスペースを選択し、⌘⇧G を押します。選択範囲の上に新しいアンカーワークスペースが挿入され、選択したすべてのワークスペースが子になります。グループは Group 1、Group 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 キーに置かれ、アンカーワークスペースの作業ディレクトリをキーとして照合されます。対応しているキー(グローバルな新規ワークスペースの配置や、ディレクトリごとの色・アイコン・配置・コンテキストメニューのアクションなど)については、設定リファレンスを参照してください。
#永続化
グループの名前、アンカー、ピン留め状態、折りたたみ状態、色、アイコンはワークスペースとともに保存され、起動をまたいで復元されます。グループのメンバーシップは各ワークスペースに保存されます。