cmux/docs-site/content/docs/configuration.mdx

128 lines
2.4 KiB
Text

---
title: Configuration
description: Configure cmux appearance and behavior
---
# Configuration
cmux reads configuration from Ghostty config files, giving you familiar options if you're coming from Ghostty.
## Config File Locations
cmux looks for configuration in these locations (in order):
1. `~/.config/ghostty/config`
2. `~/Library/Application Support/com.mitchellh.ghostty/config`
Create the config file if it doesn't exist:
```bash
mkdir -p ~/.config/ghostty
touch ~/.config/ghostty/config
```
## Appearance Options
### Font
```ini
font-family = JetBrains Mono
font-size = 14
```
### Colors
```ini
# Theme (or use individual colors below)
theme = Dracula
# Custom colors
background = #1e1e2e
foreground = #cdd6f4
cursor-color = #f5e0dc
cursor-text = #1e1e2e
selection-background = #585b70
selection-foreground = #cdd6f4
```
### Split Panes
```ini
# Opacity for unfocused splits (0.0 to 1.0)
unfocused-split-opacity = 0.7
# Fill color for unfocused splits
unfocused-split-fill = #1e1e2e
# Divider color between splits
split-divider-color = #45475a
```
## Behavior Options
### Scrollback
```ini
# Number of lines to keep in scrollback buffer
scrollback-limit = 10000
```
### Working Directory
```ini
# Default directory for new terminals
working-directory = ~/Projects
```
## App Settings
In-app settings are available via **cmux → Settings** (⌘,):
### Theme Mode
Choose between:
- **System** - Follow macOS appearance
- **Light** - Always light mode
- **Dark** - Always dark mode
### Automation Mode
Control socket access level:
- **Off** - No socket control (most secure)
- **Notifications only** - Only allow notification commands
- **Full control** - Allow all socket commands
<Callout type="warn">
On shared machines, consider using "Notifications only" mode to prevent other processes from controlling your terminals.
</Callout>
### Update Channel
- **Stable** (default) - Production releases only
- **Nightly builds** - Opt in to nightly main-branch builds
Nightly builds can include incomplete features or regressions; use them if you want the latest changes quickly.
## Example Config
Here's a complete example configuration:
```ini
# Font
font-family = SF Mono
font-size = 13
# Colors
theme = One Dark
# Scrollback
scrollback-limit = 50000
# Splits
unfocused-split-opacity = 0.85
split-divider-color = #3e4451
# Working directory
working-directory = ~/code
```