cmuxterm

Split Panes

Working with split panes in cmuxterm

Split Panes

cmuxterm supports splitting terminal panes within a tab, allowing you to view multiple terminals side by side.

Creating Splits

Keyboard Shortcuts

ShortcutAction
⌘DSplit right
⌘⇧DSplit down

Using the CLI

# Split in a specific direction
cmuxterm new-split right
cmuxterm new-split down
cmuxterm new-split left
cmuxterm new-split up

Keyboard

Use ⌘⌥ + arrow keys to move between splits:

ShortcutAction
⌘⌥←Focus left pane
⌘⌥→Focus right pane
⌘⌥↑Focus pane above
⌘⌥↓Focus pane below

CLI

# List all panes in current tab
cmuxterm list-panels
 
# Focus a specific pane
cmuxterm focus-panel --panel <panel-id>

Closing Splits

  • ⌘W - Close the focused pane
  • If only one pane remains, ⌘W closes the tab

Visual Styling

Unfocused panes are visually distinguished to help you identify the active pane.

Configuration

In your Ghostty config:

# Dim unfocused panes (0.0 = fully dimmed, 1.0 = no dimming)
unfocused-split-opacity = 0.7
 
# Background fill for unfocused panes
unfocused-split-fill = #1e1e2e
 
# Color of the divider between panes
split-divider-color = #45475a

Split Layout

cmuxterm uses a binary split tree structure:

  • Each split creates two child panes
  • Nested splits create a tree of panes
  • Each pane has a unique panel-id for CLI access

Example Layout

┌────────────────────────────────┐
│           Tab 1                │
├──────────────┬─────────────────┤
│              │     Pane 2      │
│   Pane 1     ├─────────────────┤
│              │     Pane 3      │
└──────────────┴─────────────────┘

This layout is created by:

  1. Split right → Pane 1 | Pane 2
  2. Focus Pane 2
  3. Split down → Pane 2 | Pane 3

Sending Input to Specific Panes

With the CLI, you can send input to specific panes:

# Send text to a specific pane
cmuxterm send-panel --panel <panel-id> "echo hello"
 
# Send a keypress to a specific pane
cmuxterm send-key-panel --panel <panel-id> enter

On this page