Conceptos
cmux organiza sus terminales en una jerarquía de cuatro niveles. Comprender estos niveles ayuda al usar la API de socket, la CLI y los atajos de teclado.
Jerarquía
Window
└── Workspace (sidebar entry)
└── Pane (split region)
└── Surface (tab within pane)
└── Panel (terminal or browser content)Ventana
Una ventana de macOS. Abra múltiples ventanas con ⌘⇧N. Cada ventana tiene su propia barra lateral con workspaces independientes.
Workspace
Una entrada en la barra lateral. Cada workspace contiene uno o más paneles divididos. Los workspaces son lo que ve listado en la barra lateral izquierda.
En la interfaz y los atajos de teclado, los workspaces a menudo se llaman "pestañas" ya que se comportan como pestañas en la barra lateral. La API de socket y las variables de entorno usan el término "workspace".
| Contexto | Término utilizado |
|---|---|
| UI de barra lateral | Pestaña |
| Atajos de teclado | Workspace o pestaña |
| API de socket | workspace |
| Variable de entorno | CMUX_WORKSPACE_ID |
Atajos: ⌘N (nuevo), ⌘1–⌘9 (saltar), ⌘⇧W (cerrar), ⌃⌘[ / ⌃⌘] (anterior/siguiente)
Panel
Una región dividida dentro de un workspace. Se crea dividiendo con ⌘D (derecha) o ⌘⇧D (abajo). Navegue entre paneles con ⌥⌘ + teclas de flecha.
Cada panel puede contener múltiples superficies (pestañas dentro del panel).
Superficie
Una pestaña dentro de un panel. Cada panel tiene su propia barra de pestañas y puede contener múltiples superficies. Se crea con ⌘T, se navega con ⌘[ / ⌘] o ⌃1–⌃9.
Las superficies son las sesiones individuales de terminal o navegador con las que interactúa. Cada superficie tiene su propia variable de entorno CMUX_SURFACE_ID.
Panel
El contenido dentro de una superficie. Actualmente dos tipos:
- Terminal: una sesión de terminal Ghostty
- Navegador: una vista web integrada
Panel es principalmente un concepto interno. En la API de socket y la CLI, interactúa con superficies en lugar de directamente con paneles.
Ejemplo visual
┌──────────────────────────────────────────────────────┐
│ ┌──────────┐ ┌─────────────────────────────────────┐ │
│ │ Sidebar │ │ Workspace "dev" │ │
│ │ │ │ │ │
│ │ │ │ ┌───────────────┬─────────────────┐ │ │
│ │ > dev │ │ │ Pane 1 │ Pane 2 │ │ │
│ │ server │ │ │ [S1] [S2] │ [S1] │ │ │
│ │ logs │ │ │ │ │ │ │
│ │ │ │ │ Terminal │ Terminal │ │ │
│ │ │ │ │ │ │ │ │
│ │ │ │ └───────────────┴─────────────────┘ │ │
│ └──────────┘ └─────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘En este ejemplo:
- La ventana contiene una barra lateral con tres workspaces (dev, server, logs)
- El workspace "dev" está seleccionado, mostrando dos paneles lado a lado
- El panel 1 tiene dos superficies ([S1] y [S2] en la barra de pestañas), con S1 activa
- El panel 2 tiene una superficie
- Cada superficie contiene un panel (una terminal en este caso)
Resumen
| Nivel | Qué es | Creado por | Identificado por |
|---|---|---|---|
| Ventana | Ventana de macOS | ⌘⇧N | — |
| Workspace | Entrada en la barra lateral | ⌘N | CMUX_WORKSPACE_ID |
| Panel | Región dividida | ⌘D / ⌘⇧D | ID de panel (API de socket) |
| Superficie | Pestaña dentro del panel | ⌘T | CMUX_SURFACE_ID |
| Panel | Terminal o navegador | Automático | ID de panel (interno) |