Kavramlar

cmux, terminallerinizi dört seviyeli bir hiyerarşi içinde düzenler. Bu seviyeleri anlamak, socket API, CLI ve klavye kısayollarını kullanırken yardımcı olur.

Hiyerarşi

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

Pencere

Bir macOS penceresi. ⌘⇧N ile birden fazla pencere açın. Her pencerenin bağımsız çalışma alanlarıyla kendi kenar çubuğu vardır.

Çalışma alanı

Bir kenar çubuğu girişi. Her çalışma alanı bir veya daha fazla bölünmüş panel içerir. Çalışma alanları, sol kenar çubuğunda listelenen şeylerdir.

Arayüzde ve klavye kısayollarında çalışma alanları, kenar çubuğunda sekmeler gibi davrandıkları için genellikle "sekmeler" olarak adlandırılır. Socket API ve ortam değişkenleri "workspace" terimini kullanır.

BağlamKullanılan terim
Kenar çubuğu arayüzüSekme
Klavye kısayollarıÇalışma alanı veya sekme
Socket APIworkspace
Ortam değişkeniCMUX_WORKSPACE_ID

Kısayollar: ⌘N (yeni), ⌘1–⌘9 (atla), ⌘⇧W (kapat), ⌃⌘[ / ⌃⌘] (önceki/sonraki)

Panel

Bir çalışma alanı içinde bölünmüş bir alan. ⌘D (sağ) veya ⌘⇧D (aşağı) ile bölerek oluşturulur. ⌥⌘ + ok tuşları ile paneller arasında gezinin.

Her panel birden fazla yüzey (panel içi sekmeler) barındırabilir.

Yüzey

Bir panel içindeki sekme. Her panelin kendi sekme çubuğu vardır ve birden fazla yüzey barındırabilir. ⌘T ile oluşturulur, ⌘[ / ⌘] veya ⌃1–⌃9 ile gezinilir.

Yüzeyler, etkileşim kurduğunuz bireysel terminal veya tarayıcı oturumlarıdır. Her yüzeyin kendi CMUX_SURFACE_ID ortam değişkeni vardır.

Panel

Bir yüzeyin içindeki içerik. Şu anda iki tür:

  • Terminal: bir Ghostty terminal oturumu
  • Tarayıcı: gömülü bir web görünümü

Panel çoğunlukla dahili bir kavramdır. Socket API ve CLI'de, panellerle değil yüzeylerle doğrudan etkileşim kurarsınız.

Görsel örnek

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

Bu örnekte:

  • Pencere, üç çalışma alanı (dev, server, logs) olan bir kenar çubuğu içerir
  • "dev" çalışma alanı seçilmiş, yan yana iki panel gösteriyor
  • Panel 1'de iki yüzey var (sekme çubuğunda [S1] ve [S2]), S1 aktif
  • Panel 2'de bir yüzey var
  • Her yüzey bir panel içerir (bu durumda bir terminal)

Özet

SeviyeNe olduğuOluşturanTanımlayan
PenceremacOS penceresi⌘⇧N
Çalışma alanıKenar çubuğu girişi⌘NCMUX_WORKSPACE_ID
PanelBölünmüş alan⌘D / ⌘⇧DPanel ID (socket API)
YüzeyPanel içi sekme⌘TCMUX_SURFACE_ID
PanelTerminal veya tarayıcıOtomatikPanel ID (dahili)