Основні поняття
cmux упорядковує ваші термінали в чотирирівневу ієрархію. Розуміння цих рівнів допомагає під час роботи з socket API, CLI та клавіатурними скороченнями.
Ієрархія
Window
└── Workspace (sidebar entry)
└── Pane (split region)
└── Surface (tab within pane)
└── Panel (terminal or browser content)Вікно
Вікно macOS. Щоб відкрити ще одне вікно, натисніть ⌘⇧N. У кожного вікна своя бічна панель і свої робочі простори.
Робочий простір
Запис у бічній панелі. Кожен робочий простір містить одну або кілька розділених панелей. Робочі простори — це те, що ви бачите у списку в лівій бічній панелі.
В інтерфейсі та клавіатурних скороченнях робочі простори часто називають "вкладками", бо в бічній панелі вони поводяться як вкладки. socket API і змінні середовища використовують термін "робочий простір" (workspace).
| Контекст | Використовуваний термін |
|---|---|
| Інтерфейс бічної панелі | Вкладка |
| Клавіатурні скорочення | Робочий простір або вкладка |
| Socket API | workspace |
| Змінна середовища | CMUX_WORKSPACE_ID |
Скорочення: ⌘N (новий), ⌘1–⌘9 (перейти), ⌘⇧W (закрити), ⌃⌘[ / ⌃⌘] (попередній/наступний)
Панель
Розділена область у робочому просторі. Створюється розділенням через ⌘D (праворуч) або ⌘⇧D (донизу). Переходьте між панелями за допомогою ⌥⌘ + клавіш зі стрілками.
Кожна панель може містити кілька поверхонь (вкладок усередині панелі).
Поверхня
Вкладка всередині панелі. Кожна панель має власну панель вкладок і може містити кілька поверхонь. Створюється через ⌘T, перемикання — ⌘[ / ⌘] або ⌃1–⌃9.
Поверхні — це окремі сесії термінала або браузера, з якими ви працюєте. Кожна поверхня має власну змінну середовища CMUX_SURFACE_ID.
Панель вмісту
Вміст усередині поверхні. Наразі є два типи:
- Термінал: сесія термінала Ghostty
- Браузер: вбудоване вебпредставлення
Панель вмісту переважно є внутрішнім поняттям. У socket API і CLI ви працюєте з поверхнями, а не з панелями вмісту напряму.
Групи робочих просторів
Об'єднуйте пов'язані робочі простори у згортувані іменовані розділи на бічній панелі. Кожна група належить якірному робочому простору, її можна закріпити, перейменувати та призначити власну іконку й колір. Нові робочі простори можна створювати безпосередньо всередині групи з її заголовка.
Прочитати повний посібник із груп робочих просторів
Наочний приклад
┌──────────────────────────────────────────────────────┐
│ ┌──────────┐ ┌─────────────────────────────────────┐ │
│ │ Sidebar │ │ Workspace "dev" │ │
│ │ │ │ │ │
│ │ │ │ ┌───────────────┬─────────────────┐ │ │
│ │ > dev │ │ │ Pane 1 │ Pane 2 │ │ │
│ │ server │ │ │ [S1] [S2] │ [S1] │ │ │
│ │ logs │ │ │ │ │ │ │
│ │ │ │ │ Terminal │ Terminal │ │ │
│ │ │ │ │ │ │ │ │
│ │ │ │ └───────────────┴─────────────────┘ │ │
│ └──────────┘ └─────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘У цьому прикладі:
- Вікно містить бічну панель із трьома робочими просторами (dev, server, logs)
- Вибрано робочий простір "dev", у якому поруч показано дві панелі
- Панель 1 має дві поверхні ([S1] і [S2] на панелі вкладок), активна S1
- Панель 2 має одну поверхню
- Кожна поверхня містить панель вмісту (у цьому випадку термінал)
Підсумок
| Рівень | Що це | Як створюється | Як ідентифікується |
|---|---|---|---|
| Вікно | Вікно macOS | ⌘⇧N | — |
| Робочий простір | Запис у бічній панелі | ⌘N | CMUX_WORKSPACE_ID |
| Панель | Розділена область | ⌘D / ⌘⇧D | ID панелі (socket API) |
| Поверхня | Вкладка всередині панелі | ⌘T | CMUX_SURFACE_ID |
| Панель вмісту | Термінал або браузер | Автоматично | Panel ID (внутрішній) |