Koncepter
cmux organiserer dine terminaler i et firedelt hierarki. Forståelse af disse niveauer hjælper når du bruger socket API, CLI og tastaturgenveje.
Hierarki
Window
└── Workspace (sidebar entry)
└── Pane (split region)
└── Surface (tab within pane)
└── Panel (terminal or browser content)Vindue
Et macOS-vindue. Åbn flere vinduer med ⌘⇧N. Hvert vindue har sin egen sidebar med uafhængige workspaces.
Workspace
En sidebarpost. Hvert workspace indeholder ét eller flere opdelte paneler. Workspaces er det du ser listet i venstre sidebar.
I brugerfladen og tastaturgenveje kaldes workspaces ofte "faner", da de opfører sig som faner i sidebaren. Socket API og miljøvariabler bruger termen "workspace".
| Kontekst | Anvendt term |
|---|---|
| Sidebar-brugerflade | Fane |
| Tastaturgenveje | Workspace eller fane |
| Socket API | workspace |
| Miljøvariabel | CMUX_WORKSPACE_ID |
Genveje: ⌘N (ny), ⌘1–⌘9 (spring til), ⌘⇧W (luk), ⌃⌘[ / ⌃⌘] (forrige/næste)
Panel
Et opdelt område inden for et workspace. Oprettes ved at opdele med ⌘D (højre) eller ⌘⇧D (ned). Navigér mellem paneler med ⌥⌘ + piletaster.
Hvert panel kan indeholde flere surfaces (faner inden for panelet).
Surface
En fane inden for et panel. Hvert panel har sin egen fanebjælke og kan indeholde flere surfaces. Oprettes med ⌘T, navigeres med ⌘[ / ⌘] eller ⌃1–⌃9.
Surfaces er de individuelle terminal- eller browsersessioner du interagerer med. Hver surface har sin egen CMUX_SURFACE_ID-miljøvariabel.
Panel
Indholdet inde i en surface. Aktuelt to typer:
- Terminal: en Ghostty-terminalsession
- Browser: en indlejret webvisning
Panel er primært et internt koncept. I socket API og CLI interagerer du med surfaces snarere end paneler direkte.
Visuelt eksempel
┌──────────────────────────────────────────────────────┐
│ ┌──────────┐ ┌─────────────────────────────────────┐ │
│ │ Sidebar │ │ Workspace "dev" │ │
│ │ │ │ │ │
│ │ │ │ ┌───────────────┬─────────────────┐ │ │
│ │ > dev │ │ │ Pane 1 │ Pane 2 │ │ │
│ │ server │ │ │ [S1] [S2] │ [S1] │ │ │
│ │ logs │ │ │ │ │ │ │
│ │ │ │ │ Terminal │ Terminal │ │ │
│ │ │ │ │ │ │ │ │
│ │ │ │ └───────────────┴─────────────────┘ │ │
│ └──────────┘ └─────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘I dette eksempel:
- Vinduet indeholder en sidebar med tre workspaces (dev, server, logs)
- Workspace "dev" er valgt og viser to paneler side om side
- Panel 1 har to surfaces ([S1] og [S2] i fanebjælken), med S1 aktiv
- Panel 2 har én surface
- Hver surface indeholder et panel (en terminal i dette tilfælde)
Oversigt
| Niveau | Hvad det er | Oprettet af | Identificeret ved |
|---|---|---|---|
| Vindue | macOS-vindue | ⌘⇧N | — |
| Workspace | Sidebarpost | ⌘N | CMUX_WORKSPACE_ID |
| Panel | Opdelt område | ⌘D / ⌘⇧D | Panel-ID (socket API) |
| Surface | Fane inden for panel | ⌘T | CMUX_SURFACE_ID |
| Panel | Terminal eller browser | Automatisk | Panel-ID (internt) |