# コンセプト

cmuxはターミナルを4層の階層構造で管理します。これらのレベルを理解することで、socket API、CLI、キーボードショートカットの使用が容易になります。

## 階層構造

```
Window
  └── Workspace (sidebar entry)
        └── Pane (split region)
              └── Surface (tab within pane)
                    └── Panel (terminal or browser content)
```

### ウィンドウ

macOSウィンドウです。⌘⇧Nで複数のウィンドウを開けます。各ウィンドウには独立したワークスペースを持つ独自のサイドバーがあります。

### ワークスペース

サイドバーの項目です。各ワークスペースには1つ以上の分割ペインが含まれます。ワークスペースは左側のサイドバーに一覧表示されます。

UIやキーボードショートカットでは、ワークスペースはサイドバーのタブのように動作するため「タブ」と呼ばれることがあります。socket APIや環境変数では「ワークスペース」という用語が使われます。

| コンテキスト | 使用される用語 |
| --- | --- |
| サイドバーUI | タブ |
| キーボードショートカット | ワークスペースまたはタブ |
| Socket API | `workspace` |
| 環境変数 | `CMUX_WORKSPACE_ID` |

**ショートカット：⌘N（新規）、⌘1–⌘9（ジャンプ）、⌘⇧W（閉じる）、⌃⌘\[ / ⌃⌘\]（前後）**

### ペイン

ワークスペース内の分割領域です。⌘D（右）または⌘⇧D（下）で分割して作成します。⌥⌘ + 矢印キーでペイン間を移動します。

各ペインは複数のサーフェス（ペイン内のタブ）を持つことができます。

### サーフェス

ペイン内のタブです。各ペインには独自のタブバーがあり、複数のサーフェスを持てます。⌘Tで作成、⌘\[ / ⌘\]または⌃1–⌃9で切り替えます。

サーフェスは操作対象となる個々のターミナルまたはブラウザセッションです。各サーフェスには独自のCMUX\_SURFACE\_ID環境変数があります。

### パネル

サーフェス内のコンテンツです。現在2種類あります：

-   **ターミナル：Ghosttyターミナルセッション**
-   **ブラウザ：組み込みWebビュー**

パネルは主に内部的な概念です。socket APIやCLIでは、パネルではなくサーフェスを直接操作します。

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

関連するワークスペースを、サイドバー内の折りたたみ可能な名前付きセクションにまとめます。各グループはアンカーワークスペースが所有し、ピン留めや名前変更ができ、独自のアイコンと色を設定できます。グループのヘッダーから、グループ内に新しいワークスペースを直接生成できます。

[ワークスペースグループの完全ガイドを読む](https://cmux.com/ja/docs/workspace-groups)

## 視覚的な例

```
┌──────────────────────────────────────────────────────┐
│ ┌──────────┐ ┌─────────────────────────────────────┐ │
│ │ Sidebar  │ │ Workspace "dev"                     │ │
│ │          │ │                                     │ │
│ │          │ │ ┌───────────────┬─────────────────┐ │ │
│ │ > dev    │ │ │ Pane 1        │ Pane 2          │ │ │
│ │   server │ │ │ [S1] [S2]     │ [S1]            │ │ │
│ │   logs   │ │ │               │                 │ │ │
│ │          │ │ │  Terminal     │  Terminal       │ │ │
│ │          │ │ │               │                 │ │ │
│ │          │ │ └───────────────┴─────────────────┘ │ │
│ └──────────┘ └─────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
```

この例では：

-   ウィンドウに3つのワークスペース（dev、server、logs）があるサイドバーがあります
-   ワークスペース「dev」が選択されており、2つのペインが横に並んでいます
-   ペイン1には2つのサーフェス（タブバーの\[S1\]と\[S2\]）があり、S1がアクティブです
-   ペイン2には1つのサーフェスがあります
-   各サーフェスにはパネル（この場合はターミナル）が含まれています

## まとめ

| レベル | 内容 | 作成方法 | 識別方法 |
| --- | --- | --- | --- |
| ウィンドウ | macOSウィンドウ | `⌘⇧N` | — |
| ワークスペース | サイドバーの項目 | `⌘N` | `CMUX_WORKSPACE_ID` |
| ペイン | 分割領域 | `⌘D` / `⌘⇧D` | ペインID（socket API） |
| サーフェス | ペイン内のタブ | `⌘T` | `CMUX_SURFACE_ID` |
| パネル | ターミナルまたはブラウザ | 自動 | パネルID（内部） |

Canonical: https://cmux.com/ja/docs/concepts

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