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

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

## 概念

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

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

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

アンカーワークスペースを閉じても、閉じられるのはそのワークスペースだけです。グループに残った最初のメンバー（グループの並び順で最も先頭にあるもの）が新しいアンカーに昇格し、グループと他のメンバーはそのまま維持されます（昇格したメンバーはヘッダーにグループ名を表示します）。アンカーがグループ唯一のワークスペースだった場合は、グループが削除されます。グループをグループ化されていないワークスペースに戻すには「グループ解除」を、グループ内のすべてのワークスペースを閉じるには「グループを削除」を使用します。

### グループの識別情報

グループには名前、アイコン（SF Symbol、デフォルトは folder.fill）、および任意のカスタムカラーがあります。自動化ではウィンドウ単位の external\_id（または idempotency\_key）も指定できます。同じ識別子で作成を繰り返すと、別のアンカーを追加せず既存のグループを返します。名前は識別子ではなく、現在のアンカーの明示的な来歴が安全なクリーンアップを制御します。

### ピン留め

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

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

1.  ピン留めされたトップレベルの行（ワークスペースとグループ）。
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 delete  <group-id> --close-workspaces
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）を返します。--from を省略するとアンカーのみのグループを作成し、選択状態や呼び出し元のコンテキストから既存のワークスペースを推測しません。再試行でアトミックな作成または既存取得を行うには --idempotency-key（または --external-id）を渡し、完全な構造化ペイロードには --json を渡してください。

delete はデフォルトでグループを解除し、ワークスペースを保持します。すべてのメンバーワークスペースを閉じてプロセスを終了する場合にのみ --close-workspaces を渡してください。cmux が作成したアンカーのみのグループでは、ungroup に --remove-generated-anchor を指定するとアンカーも削除できます。ユーザーが選択または昇格したアンカーは拒否されます。レスポンスには操作内容と対象数が含まれます。set-color または set-icon に空の値を渡すと、グループの色やアイコンをクリアします。

### 例

明示的に選んだ 2 つのワークスペースを名前を付けてグループ化します。

```
cmux workspace-group create --name manaflow --from workspace:1,workspace:2
```

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

```
cmux workspace-group new-workspace workspace_group:1
```

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

```
cmux workspace-group list
```

## 設定

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

[workspaceGroups 設定リファレンス](https://cmux.com/ja/docs/configuration#schema-workspaceGroups)

## 永続化

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

Canonical: https://cmux.com/ja/docs/workspace-groups

Documentation index: https://cmux.com/llms.txt
