# កំណត់រចនាសម្ព័ន្ធ

cmux អានកំណត់រចនាសម្ព័ន្ធពីឯកសារកំណត់រចនាសម្ព័ន្ធ Ghostty, ផ្ដល់ឱ្យអ្នកនូវជម្រើសដែលធ្លាប់ស្គាល់ប្រសិនបើអ្នកមកពី Ghostty។

## ទីតាំងឯកសារកំណត់រចនាសម្ព័ន្ធ

cmux ស្វែងរកកំណត់រចនាសម្ព័ន្ធនៅទីតាំងទាំងនេះ (តាមលំដាប់):

1.  `~/.config/ghostty/config`
2.  `~/Library/Application Support/com.mitchellh.ghostty/config`

បង្កើតឯកសារកំណត់រចនាសម្ព័ន្ធប្រសិនបើមិនមាន:

```
mkdir -p ~/.config/ghostty
touch ~/.config/ghostty/config
```

## ឧទាហរណ៍កំណត់រចនាសម្ព័ន្ធ

~/.config/ghostty/config

```
font-family = SF Mono
font-size = 13
sidebar-font-size = 14
surface-tab-bar-font-size = 11
theme = One Dark
scrollback-limit = 50000000
split-divider-color = #3e4451
working-directory = ~/code
```

## cmux.json

cmux keeps app-owned settings, shortcuts, actions, custom commands, and workspace layouts in `~/.config/cmux/cmux.json`. Terminal rendering still lives in Ghostty config. On launch, if the file is missing, cmux writes a commented template there.

Open cmux Settings, then use the `cmux.json` section to open the canonical file in your preferred text editor.

1.  `~/.config/cmux/cmux.json`
2.  `.cmux/cmux.json` in a project for project-scoped actions and workspace commands

**Precedence:** global `~/.config/cmux/cmux.json` settings override values saved in the Settings window. Legacy `~/.config/cmux/settings.json` and Application Support settings files are read only as fallback for missing settings keys. Project-local `.cmux/cmux.json` can override actions, commands, UI action wiring, and notification hooks, but not global app preferences.

**Reload:** edit the file, then use `Cmd+Shift+,` or `cmux reload-config` to re-read it without restarting the app.

**Migrations:** keep `schemaVersion` at `1` for now. Future cmux versions will use that field for upgrades. If cmux sees a newer schema version, it logs a warning and parses known keys only.

The file accepts JSON with comments and trailing commas. The canonical schema is published at [https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json](https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json) and the source lives at [https://github.com/manaflow-ai/cmux/blob/main/web/data/cmux.schema.json](https://github.com/manaflow-ai/cmux/blob/main/web/data/cmux.schema.json).

~/.config/cmux/cmux.json

```
{
  "$schema": "https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json",
  "schemaVersion": 1,

  // "app": {
  //   "appearance": "dark",
  //   "menuBarOnly": false,
  //   "newWorkspacePlacement": "afterCurrent",
  //   "windowTitleTemplate": "[cmux:{windowToken}] {activeWorkspace}",
  //   "paneResizeStepPixels": 20,
  //   "confirmQuit": "always",
  //   "openSupportedFilesInCmux": true,
  //   "workspaceInheritWorkingDirectory": true,
  //   "iMessageMode": true
  // },

  // "terminal": {
  //   "showScrollBar": false,
  //   "copyOnSelect": true,
  //   "autoResumeAgentSessions": true,
  //   "showTextBoxOnNewTerminals": false,
  //   "focusTextBoxOnNewTerminals": false,
  //   "agentHibernation": {
  //     "enabled": false,
  //     "idleSeconds": 5,
  //     "maxLiveTerminals": 12
  //   },
  //   "textBoxMaxLines": 10
  // },

  // "browser": {
  //   "defaultSearchEngine": "kagi",
  //   // For an unlisted provider, set "defaultSearchEngine": "custom" and fill these:
  //   "customSearchEngineName": "My Search",
  //   "customSearchEngineURLTemplate": "https://search.example.com/?q={query}",
  //   "openTerminalLinksInCmuxBrowser": true,
  //   "hostsToOpenInEmbeddedBrowser": ["localhost", "*.internal.example"]
  // },

  // "markdown": {
  //   // Default body font size (points) for newly opened markdown viewers.
  //   // Zoom a viewer live with Cmd-+ / Cmd-- / Cmd-0.
  //   "fontSize": 15,
  //   // Default body font family. Empty keeps the system markdown font stack.
  //   "fontFamily": "",
  //   // Default maximum reading column width, in CSS pixels.
  //   "maxWidth": 980
  // },

  // "fileEditor": {
  //   // Wrap long lines at the editor's right edge instead of scrolling horizontally.
  //   "wordWrap": false
  // },

  // "fileExplorer": {
  //   // ចុចពីរដងលើឯកសារ៖ preview (លំនាំដើម), defaultEditor (កម្មវិធីលំនាំដើមរបស់ macOS), ឬ preferredEditor (ពាក្យបញ្ជា app.preferredEditor)។
  //   "doubleClickAction": "preview"
  // },

  // "automation": {
  //   "suppressSubagentNotifications": true
  // },

  // "workspaceColors": {
  //   "colors": {
  //     "Red": "#C0392B",
  //     "Blue": "#1565C0",
  //     "Neon Mint": "#00F5D4"
  //   }
  // },

  // "workspaceGroups": {
  //   "newWorkspacePlacement": "afterCurrent"
  // },

  // "agentChat": {
  //   "url": "http://127.0.0.1:7739",
  //   "startCommand": "cmux-chat"
  // },

  // "shortcuts": {
  //   "bindings": {
  //     "toggleSidebar": "cmd+b",
  //     "toggleFileExplorer": "cmd+opt+b",
  //     "toggleFileEditorWordWrap": "opt+z",
  //     "newTab": ["ctrl+b", "c"],
  //     "commandPalettePrevious": null
  //   }
  // },
}
```

## Schema reference

This reference covers every supported global settings key in `cmux.json`. The embedded browser, terminal, sidebar, notifications, automation, and cmux-owned keyboard shortcuts all live here. Actions and workspace commands are documented on the [custom commands page](https://cmux.com/km/docs/custom-commands).

### Metadata

`$schema`

Optional schema URL for editor completion and validation.

Type

`string`

Default

`"https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json"`

`schemaVersion`

Schema version for forward-compatible migrations. Newer versions are parsed on a best-effort basis.

Type

`integer`

Default

`1`

### `app`

General app preferences from Settings > App.

`app.language`

Preferred app language.

Type

`string`

Default

`"system"`

Allowed values

`system, en, ar, bs, zh-Hans, zh-Hant, da, de, es, fr, it, ja, ko, nb, pl, pt-BR, ru, th, tr`

`app.appearance`

App appearance mode.

Type

`string`

Default

`"system"`

Allowed values

`system, light, dark`

`app.accentColor`

Accent for cmux-drawn chrome: the selected workspace, attention ring and pane flash, agent status, pane swap, canvas focus, and scroll markers. "cmux" uses cmux blue; "system" follows the macOS accent color and updates when it changes; a "#RRGGBB" hex uses that color in light and dark mode. workspaceColors.selectionColor and notifications.paneFlashColor still override their parts. Native controls always use the macOS accent.

Type

`string | unknown`

Default

`"cmux"`

`app.appIcon`

Dock and app switcher icon style.

Type

`string`

Default

`"automatic"`

Allowed values

`automatic, light, dark`

`app.windowTitleTemplate`

គំរូចំណងជើង NSWindow ជាជម្រើស។ ទុកទទេ ដើម្បីរក្សាឥរិយាបថចំណងជើងលំនាំដើមដែលមានស្រាប់របស់ cmux រួមទាំង fallback ទៅថតបច្ចុប្បន្ន។ Placeholder ដែលគាំទ្រ៖ {windowId}, {windowToken}, {activeWorkspace}, {activeDirectory}, {defaultTitle}, {appName}។

Type

`string`

Default

`""`

`app.devWindowDisplay`

ឈ្មោះអេក្រង់ដែលប្រើតែក្នុង build DEBUG ពេលបើកបង្អួចថ្មី។ តម្លៃទទេប្រើលំនាំដើមរបស់ប្រព័ន្ធ។

Type

`string`

Default

`""`

`app.menuBarOnly`

Hide the Dock icon and app switcher entry while keeping cmux available from the menu bar.

Type

`boolean`

Default

`false`

`app.newWorkspacePlacement`

Where new workspaces are inserted in the sidebar.

Type

`string`

Default

`"afterCurrent"`

Allowed values

`top, afterCurrent, end`

`app.goToWorkspaceOrder`

Order used by Go to Workspace (Cmd-P): sidebar order, or most recently focused workspaces.

Type

`string`

Default

`"sidebar"`

Allowed values

`sidebar, recent`

`app.forkConversationDefaultDestination`

Default destination for the tab context menu's primary Fork Conversation action. The submenu still exposes every destination.

Type

`string`

Default

`"right"`

Allowed values

`right, left, top, bottom, newTab, newWorkspace`

`app.workspaceInheritWorkingDirectory`

When true, new workspaces inherit the current workspace working directory. When false, new workspaces use Ghostty's working-directory setting instead.

Type

`boolean`

Default

`true`

`app.minimalMode`

Hide the workspace title bar and move controls into the sidebar.

Type

`boolean`

Default

`false`

`app.keepWorkspaceOpenWhenClosingLastSurface`

When true, closing the last surface keeps the workspace open.

Type

`boolean`

Default

`false`

`app.focusPaneOnFirstClick`

When cmux is inactive, the first click can activate and focus the clicked pane.

Type

`boolean`

Default

`false`

`app.paneResizeStepPixels`

Pixels moved per keypress when using pane-resize shortcuts. Accepts 1–200; defaults to 20. Changes apply immediately.

Type

`integer`

Default

`20`

`app.focusHistoryIncludesPanesAndTabs`

When true, Back and Forward include focus changes between panes and tabs. When false, they navigate between workspaces only.

Type

`boolean`

Default

`false`

`app.equalizeSplitsOnCreate`

When true, creating a split resizes the panes in that split's row or column to equal sizes. When false, a new split halves the pane it was created from.

Type

`boolean`

Default

`false`

`app.preferredEditor`

Custom editor command used when Cmd-click file previews are disabled or a file is unsupported. Leave empty to use the default.

Type

`string`

Default

`""`

`app.defaultWorkspacePath`

Folder the Open Folder panel starts in, for example ~/code. Supports a leading ~. Leave empty to start in the active workspace's directory.

Type

`string`

Default

`""`

`app.openSupportedFilesInCmux`

When enabled, Cmd-clicking readable local files opens supported previews in cmux, including text, code, PDFs, images, audio, video, and Quick Look files. Preview headers include an Open With menu based on the user's default and compatible macOS apps for that file.

Type

`boolean`

Default

`true`

`app.openMarkdownInCmuxViewer`

When enabled, Cmd-clicking .md/.markdown/.mkd/.mdx files opens the rendered cmux markdown viewer panel (with live reload) instead of the generic file preview.

Type

`boolean`

Default

`true`

`app.globalFontMagnification`

ការពង្រីកជាភាគរយសម្រាប់អ្វីៗទាំងអស់ដែល cmux គូរដោយខ្លួនឯង៖ អត្ថបទទែមីណល ចំណងជើង tab របារចំហៀង Settings overlay និងស៊ុមបង្អួច។ ទំព័របណ្ដាញនៅក្នុង browser surface រក្សាទំហំផ្ទាល់ខ្លួនរបស់វា។

Type

`integer`

Default

`100`

`app.reorderOnNotification`

Automatic workspace reordering. true or "notifications" moves workspaces with new notifications toward the top. "agentActivity" also moves them when a prompt is sent or an agent finishes a turn, needs input, or fails, at most once per burst and never while the pointer is over the sidebar. false or "off" keeps the order stable.

Type

`boolean | string`

Default

`true`

`app.iMessageMode`

Move a workspace to the top and show the submitted message when sending an agent prompt.

Type

`boolean`

Default

`false`

`app.sendAnonymousTelemetry`

Allow anonymous telemetry.

Type

`boolean`

Default

`true`

`app.confirmQuit`

កំណត់ពេលដែល cmux ស្នើសុំការបញ្ជាក់មុនពេលចាកចេញ។ កំណែ DEV តែងតែចាកចេញភ្លាមៗ ដោយមិនគិតពីការកំណត់នេះទេ។ app.warnBeforeQuit ចាស់នៅតែត្រូវបានទទួលយកជាជម្រើសបម្រុង boolean។

Type

`string`

Default

`"always"`

Allowed values

`always, dirty-only, never`

`app.warnBeforeQuit`

ជម្រើសបម្រុង boolean ចាស់សម្រាប់ការបញ្ជាក់មុនចាកចេញ។ ប្រើ app.confirmQuit សម្រាប់ការកំណត់ថ្មី។

Type

`boolean`

Default

`true`

`app.warnBeforeClosingTab`

Show a confirmation before closing a tab.

Type

`boolean`

Default

`true`

`app.warnBeforeClosingAgentSession`

Show a confirmation before closing an agent session while it is mid-turn.

Type

`boolean`

Default

`true`

`app.warnBeforeClosingTabXButton`

បង្ហាញការបញ្ជាក់ មុនពេលបិទផ្ទាំងដោយប៊ូតុងបិទផ្ទាំង។

Type

`boolean`

Default

`false`

`app.warnBeforeClosingWorkspace`

Show a confirmation before closing a workspace with a running process, or several workspaces at once. Pinned workspaces still ask when this is off.

Type

`boolean`

Default

`true`

`app.warnBeforeClosingWindow`

Show a confirmation before closing a window with a running process, or all of a window's workspaces at once.

Type

`boolean`

Default

`true`

`app.hideTabCloseButton`

លាក់ប៊ូតុងបិទផ្ទាំងនៅក្នុងរបារផ្ទាំងរបស់ផ្ទាំងបង្អួច។

Type

`boolean`

Default

`false`

`app.tabBarVisibility`

កំណត់ពេលដែលបន្ទះគូររបារផ្ទាំងរបស់វា។ "always" គូររបារនេះ ទោះបីជាបន្ទះមានផ្ទាំងតែមួយក៏ដោយ។ "multiple-tabs" លាក់របារនេះខណៈបន្ទះមានផ្ទាំងតែមួយ ហើយគូរវានៅពេលផ្ទាំងទីពីរត្រូវបានបើក។ របៀបសាមញ្ញ (app.minimalMode) គូរវាជានិច្ច ព្រោះនៅទីនោះ របារផ្ទាំងរបស់បន្ទះខាងលើគេ គឺជារបារចំណងជើងបង្អួចផងដែរ។

Type

`string`

Default

`"always"`

Allowed values

`always, multiple-tabs`

`app.renameSelectsExistingName`

Select the current name when opening rename flows.

Type

`boolean`

Default

`true`

`app.commandPaletteSearchesAllSurfaces`

Search every surface in the command palette switcher instead of only the active workspace.

Type

`boolean`

Default

`false`

### `terminal`

Terminal presentation settings from Settings > Terminal.

`terminal.adaptiveDefaultTheme`

នៅពេល true (លំនាំដើម) cmux ផ្តល់ក្ដារពណ៌លំនាំដើមដែលប្រែប្រួលតាមរូបរាង លុះត្រាតែបានកំណត់ស្បែក Ghostty ឬពណ៌ស្ថានីយ។ ពុម្ពអក្សរ និងការកំណត់ផ្សេងទៀតត្រូវបានរក្សាទុក។ នៅពេល false Ghostty ប្រើក្ដារពណ៌ដែលមានស្រាប់ថេររបស់វា។ ស្បែក និងពណ៌ដែលបានកំណត់ជាក់លាក់តែងតែមានអាទិភាព រួមទាំង theme = light:X,dark:Y។

Type

`boolean`

Default

`true`

`terminal.showScrollBar`

Show the right-edge terminal scroll bar when scrollback is available. cmux automatically suppresses it for alternate-screen style TUI surfaces.

Type

`boolean`

Default

`true`

`terminal.scrollSpeed`

កំណត់ចម្ងាយដែលទែមីណលផ្លាស់ទីសម្រាប់ព្រឹត្តិការណ៍រំកិលនីមួយៗពីកង់កណ្ដុរ ឬ trackpad។ តម្លៃលើសពី 1 ធ្វើឱ្យរំកិលលឿនជាងមុន ហើយតម្លៃក្រោម 1 ធ្វើឱ្យរំកិលយឺតជាងមុន។

Type

`number`

Default

`1`

`terminal.sessionContentMaxWidth`

ទទឹងអតិបរមាជាជម្រើស គិតជាពិន្ទុ សម្រាប់ខ្លឹមសារស្ថានីយ និងការជជែកជាមួយភ្នាក់ងារដែលភ្ជាប់មកជាមួយ។ កំណត់ false ដើម្បីប្រើទទឹងផ្ទាំងទាំងមូល។

Type

`boolean | number`

Default

`false`

`terminal.sessionContentAlignment`

ទីតាំងផ្ដេកនៃខ្លឹមសារស្ថានីយ និងការជជែកជាមួយភ្នាក់ងារដែលភ្ជាប់មកជាមួយ នៅពេលបើក sessionContentMaxWidth។

Type

`string`

Default

`"center"`

Allowed values

`left, center, right`

`terminal.copyOnSelect`

នៅពេល true អត្ថបទ terminal ដែលបានជ្រើសនឹងត្រូវចម្លងទៅ clipboard របស់ប្រព័ន្ធ ពេលការជ្រើសត្រូវបានបញ្ជាក់។ នៅពេល false cmux មិនបញ្ចេញការកំណត់ជាន់លើ Ghostty copy-on-select ទេ; ការកំណត់ និងលំនាំដើមរបស់ Ghostty គ្រប់គ្រងអាកប្បកិរិយា clipboard សម្រាប់ការជ្រើស។

Type

`boolean`

Default

`false`

`terminal.showCopyConfirmation`

Briefly show "Copied to clipboard" at the bottom of a terminal after selecting text copies it. Applies whether copyOnSelect or Ghostty's copy-on-select turned copying on. Copies made with a keyboard shortcut or by a program (OSC 52) never show it.

Type

`boolean`

Default

`false`

`terminal.reflowHardWrapOnCopy`

When true, copying terminal text also joins a line that exactly fills the terminal width onto the next line, undoing hard wraps a program inserted at the grid edge. Soft-wrapped rows are always joined.

Type

`boolean`

Default

`false`

`terminal.confirmUnsafePaste`

When true, a paste that Ghostty's clipboard-paste-protection flags as unsafe (for example, text with a line break going to a program that has not enabled bracketed paste) waits for confirmation in a sheet attached to the terminal's window. When false, cmux pastes it without asking. OSC 52 clipboard reads are not affected.

Type

`boolean`

Default

`false`

`terminal.textEditingGestures`

Replay macOS text-editing gestures as line-editor keys at the shell prompt: Command and Option arrow keys move by line and word, and Command and Option Delete kill by line and word. While a full-screen application (vim, less, htop, tmux) has the terminal on the alternate screen, it gets the keys as if gestures were off, unless textEditingGesturesInFullScreenApps is on. Ghostty's own bindings still apply there, so Command+Left sends Ctrl+A and Option+Left sends Esc b.

Type

`boolean`

Default

`false`

`terminal.textEditingCommandMovesByWord`

With textEditingGestures on, switch to a browser-style layout: Command arrow and Delete keys move and delete by word, like Option, and Control+Left/Right move to the start and end of the line. Every other Control chord, including Ctrl+W and Ctrl+C, still reaches the terminal. macOS reserves Control+Left/Right for switching Spaces by default; turn those off in System Settings > Keyboard > Keyboard Shortcuts > Mission Control for Control+arrows to reach cmux.

Type

`boolean`

Default

`false`

`terminal.textEditingGesturesInFullScreenApps`

Keep textEditingGestures active while a full-screen application has the terminal on the alternate screen. tmux, screen, and zellij keep the outer terminal on the alternate screen even at their shell prompt, so turn this on to use gestures inside a multiplexer. Applications that bind the gesture chords themselves then receive the translated keys.

Type

`boolean`

Default

`false`

`terminal.showPasswordInputIndicator`

Show a lock badge in the terminal corner while the foreground program has turned echo off for a password prompt (sudo, ssh, passwd, gpg). cmux draws the badge itself and never changes terminal text. Only prompts on the local terminal are detected: an ssh password prompt counts, but sudo run inside an ssh session does not. Changes apply to an open prompt at once.

Type

`boolean`

Default

`true`

`terminal.showPasswordInputDots`

When the password input badge is shown, also draw one dot per typed character. cmux keeps only a count, never the typed characters. Backspace removes a dot; Enter or echo turning back on clears them. Pasted text is not counted.

Type

`boolean`

Default

`false`

`terminal.showJumpToBottomButton`

Removed. cmux no longer shows a Jump to Bottom button in terminal panes, and ignores this key. It stays in the schema so existing configs still validate.

Type

`boolean`

Default

`none`

`terminal.predictiveLocalEcho`

Draw typed characters immediately in a terminal whose shell runs on another machine (cmux ssh, Cloud, remote tmux) when the link is slow, underlined until the remote echo confirms them, and withdraw them if the remote disagrees. Local terminals, password prompts and full-screen apps are excluded.

Type

`boolean`

Default

`true`

`terminal.autoResumeAgentSessions`

Automatically run agent resume commands for restored terminal sessions when cmux reopens after quit. Set false to restore panes while keeping Claude Code, Codex, OpenCode, and other saved agent sessions idle until you resume them manually.

Type

`boolean`

Default

`true`

`terminal.showTextBoxOnNewTerminals`

បង្ហាញការបញ្ចូល TextBox ជាលំនាំដើមសម្រាប់ workspace ផ្ទាំងស្ថានីយ និងស្ប្លីតស្ថានីយដែលទើបបង្កើតថ្មី។

Type

`boolean`

Default

`false`

`terminal.focusTextBoxOnNewTerminals`

ផ្តោតការបញ្ចូល TextBox ជាលំនាំដើមសម្រាប់ workspace ផ្ទាំងស្ថានីយ និងស្ប្លីតស្ថានីយដែលទើបបង្កើតថ្មី។ ការផ្តោតក៏បង្ហាញ TextBox ផងដែរ។

Type

`boolean`

Default

`false`

`terminal.agentHibernation`

Routine Agent Hibernation settings. cmux kills idle background agent processes to free RAM and CPU, then resumes them with their saved session when their tab is visited. Routine hibernation requires a restorable coding agent whose lifecycle reports idle, an off-screen terminal, a live-terminal count above the configured limit, and unchanged output through the idle and confirmation windows. Independently, under memory pressure (critical pressure from macOS or from the cmux app's own footprint, or cmux's total memory use past its aggregate warning threshold) cmux may hibernate every safe idle background agent even when enabled is false; visible, running, needs-input, recently changed, and unprotectable agents remain excluded. The placeholder Resume button is a manual fallback.

Type

`object`

Default

`none`

`terminal.rendererRealization`

Reclaim off-screen terminal GPU renderer memory. cmux releases the Metal renderer (IOSurface) of a terminal that has stayed off-screen and idle while keeping its process and terminal state alive, then rebuilds the renderer instantly when the tab is visited again. Non-destructive and on by default.

Type

`object`

Default

`none`

`terminal.titleUpdates`

Terminal title update throttling and diagnostics.

Type

`object`

Default

`none`

`terminal.runawayMemoryGuardrail`

Per-pane process-tree memory monitoring.

Type

`object`

Default

`none`

`terminal.textBoxMaxLines`

Maximum number of lines the rich terminal TextBox input can grow to before it scrolls.

Type

`integer`

Default

`10`

`terminal.textBoxDefaultSubmitAction`

Default TextBox submit action ID for new terminal sessions. Use text-entry for plain input or one of the configured action IDs.

Type

`string`

Default

`"text-entry"`

`terminal.textBoxSubmitActions`

Configurable TextBox submit actions shown on the submit button, Shift-Tab cycle, and right-click menu.

Type

`array<object>`

Default

```
[]
```

`terminal.resumeCommands`

Signed command-prefix approvals for restoring non-agent terminal surfaces. cmux writes this list when you approve a surface resume command.

Type

`array<object>`

Default

```
[]
```

`terminal.uploadCommands`

Host-scoped rules that replace the built-in scp for terminal file drops and pastes over SSH. When the ssh destination matches a rule, cmux runs that rule's command once per file instead of scp, and inserts the command's stdout at the cursor (verbatim, with control characters stripped); if the command prints nothing, cmux inserts the shell-escaped remote path it chose instead. Per-file outputs are space-joined. First matching enabled rule wins; no match runs the built-in scp unchanged. A non-zero exit, timeout, or cancel inserts nothing.

Type

`array<object>`

Default

```
[]
```

### `notifications`

Notification behavior from Settings > Notifications.

`notifications.dockBadge`

Show the unread count in the Dock tile.

Type

`boolean`

Default

`true`

`notifications.showInMenuBar`

Show the menu bar extra.

Type

`boolean`

Default

`true`

`notifications.unreadPaneRing`

Highlight panes with unread notifications.

Type

`boolean`

Default

`true`

`notifications.paneFlash`

Flash the focused pane when requested.

Type

`boolean`

Default

`true`

`notifications.paneFlashDoubleBlink`

Blink the pane flash twice instead of one short pulse.

Type

`boolean`

Default

`true`

`notifications.paneFlashOnTyping`

Flash the pane when terminal typing dismisses its notification.

Type

`boolean`

Default

`true`

`notifications.paneFlashThemeColor`

Use the terminal theme foreground for flashes when paneFlashColor is unset. Unread rings remain cmux blue.

Type

`boolean`

Default

`false`

`notifications.paneFlashColor`

Override the pane flash and unread notification ring color. Leave unset to use the accent from app.accentColor.

Type

`unknown`

Default

`null`

`notifications.soundWhenFocused`

ចាក់សំឡេងជូនដំណឹង ទោះបីផ្ទាំងដែលបានជូនដំណឹងកំពុងស្ថិតក្នុងការផ្តោតរួចហើយក៏ដោយ។ បិទតាមលំនាំដើម ដូច្នេះផ្ទាំងដែលកំពុងផ្តោតបង្ហាញតែរង្វង់ និងពន្លឺភ្លឹបភ្លែតរបស់វាប៉ុណ្ណោះ។

Type

`boolean`

Default

`false`

`notifications.suppressOnlyFocusedSurface`

នៅពេលបើក banner នៃការជូនដំណឹងនឹងត្រូវដកវិញដោយស្វ័យប្រវត្តិ តែនៅពេល Surface របស់វាជា Surface ដែលកំពុងផ្តោតយ៉ាងពិតប្រាកដប៉ុណ្ណោះ។ banner ដែលបានបញ្ជូនសម្រាប់ Surface ដែលមិនបានផ្តោតក្នុង workspace ដែលកំពុងបង្ហាញ នឹងបន្តបង្ហាញរហូតដល់អ្នកផ្តោតលើ Surface នោះ (ឬចុច/បិទវា) ជំនួសឱ្យការដកវិញនៅពេល workspace ក្លាយជាមើលឃើញ។ បិទ នឹងរក្សាឥរិយាបថដកវិញចាស់ដែលផ្អែកលើភាពមើលឃើញនៃ workspace។

Type

`boolean`

Default

`false`

`notifications.suppressWhenAppFocused`

នៅពេលបើក cmux នឹងរំលង banner លើផ្ទៃតុ សម្រាប់ការជូនដំណឹងទាំងអស់ ខណៈពេល cmux ជាកម្មវិធីសកម្ម មិនត្រឹមតែសម្រាប់ផ្ទាំងដែលកំពុងផ្តោតប៉ុណ្ណោះទេ។ ការជូនដំណឹងនៅតែបង្ហាញក្នុងរបារចំហៀង សំឡេង និងពាក្យបញ្ជាផ្ទាល់ខ្លួននៅតែដំណើរការ ហើយការបញ្ជូនបន្តទៅទូរសព្ទមិនផ្លាស់ប្តូរទេ។ បិទ នឹងបន្តបង្ហាញ banner សម្រាប់ workspace និងផ្ទាំងផ្សេងទៀត ខណៈពេល cmux កំពុងត្រូវបានផ្តោត។

Type

`boolean`

Default

`false`

`notifications.agentPermissionPrompt`

Notify when an agent (e.g. Claude Code) is blocked waiting for your permission to run a tool. On by default, since this is the alert you must act on to unblock the agent.

Type

`boolean`

Default

`true`

`notifications.agentTurnComplete`

When to notify that an agent finished a turn. whenIdle (default) suppresses the notification while the agent still has a running background task or a pending scheduled wakeup, so you are pinged once work truly drains. always notifies on every turn end; never disables it.

Type

`string`

Default

`"whenIdle"`

Allowed values

`whenIdle, always, never`

`notifications.agentIdleReminder`

ជូនដំណឹងនៅពេលភ្នាក់ងារមិនសកម្ម ហើយកំពុងរង់ចាំការបញ្ចូលរបស់អ្នក (ប្រហែល ៦០ វិនាទីបន្ទាប់ពីវេនបញ្ចប់)។ វាត្រូវបានទប់ស្កាត់ ខណៈការងារផ្ទៃខាងក្រោយពីវេនមុននៅតែរង់ចាំ ដើម្បីកុំឱ្យ build ឬ watcher ដែលកំពុងដំណើរការបង្កើតការជូនដំណឹងរង់ចាំខុស។

Type

`boolean`

Default

`true`

`notifications.sound`

Notification sound preset.

Type

`string`

Default

`"default"`

Allowed values

`default, Basso, Blow, Bottle, Frog, Funk, Glass, Hero, Morse, Ping, Pop, Purr, Sosumi, Submarine, Tink, custom_file, none`

`notifications.customSoundFilePath`

Local path to the custom notification sound file.

Type

`string`

Default

`""`

`notifications.soundOverrides`

ការបដិសេធសំឡេងជូនដំណឹងតាមភ្នាក់ងារ និងប្រភេទការជូនដំណឹង។ ក្រឡាដែលបាត់ប្រើ notifications.sound។

Type

`object`

Default

```
{}
```

`notifications.command`

Optional shell command to run alongside notification delivery.

Type

`string`

Default

`""`

`notifications.hooksMode`

Controls whether project-local notification hooks append to inherited hooks or replace them.

Type

`string`

Default

`"append"`

Allowed values

`append, replace`

`notifications.hooks`

Composable shell hooks that receive notification policy JSON on stdin and return updated policy JSON on stdout.

Type

`array<object>`

Default

```
[]
```

### `sidebar`

Sidebar content and metadata visibility from Settings > Sidebar.

`sidebar.fontSize`

Sidebar font size in points. The legacy Ghostty key sidebar-font-size remains a fallback alias.

Type

`number`

Default

`12.5`

`sidebar.hideAllDetails`

Hide all per-workspace detail rows.

Type

`boolean`

Default

`false`

`sidebar.wrapWorkspaceTitles`

Allow workspace titles in the sidebar to wrap to multiple lines instead of truncating after one line.

Type

`boolean`

Default

`false`

`sidebar.showWorkspaceDescription`

Show custom workspace descriptions in the sidebar.

Type

`boolean`

Default

`true`

`sidebar.workspaceDescriptionColor`

Override the workspace description text color in the sidebar.

Type

`unknown`

Default

`null`

`sidebar.beta`

Experimental sidebar features.

Type

`object`

Default

`none`

`sidebar.branchLayout`

Show git branch details stacked vertically or inline.

Type

`string`

Default

`"vertical"`

Allowed values

`vertical, inline`

`sidebar.branchVerticalLayout`

Show git branch details stacked vertically when true, or inline when false. This boolean form is the canonical setting; branchLayout remains supported as a legacy alias.

Type

`boolean`

Default

`true`

`sidebar.stackBranchDirectory`

Render the git branch and working directory on separate lines instead of sharing one line.

Type

`boolean`

Default

`false`

`sidebar.pathLastSegmentOnly`

Truncate sidebar paths from the start, showing as much of the trailing path as fits with a leading …/. When false, full paths are abbreviated with ~/.

Type

`boolean`

Default

`false`

`sidebar.showNotificationMessage`

Show the latest notification text in the sidebar.

Type

`boolean`

Default

`true`

`sidebar.notificationMessageLineLimit`

ចំនួនបន្ទាត់អតិបរមាដែលបង្ហាញសម្រាប់ការជូនដំណឹងចុងក្រោយនៅខាងក្រោមចំណងជើងកន្លែងធ្វើការនីមួយៗ។

Type

`integer`

Default

`12`

`sidebar.showBranchDirectory`

Show the workspace working directory.

Type

`boolean`

Default

`true`

`sidebar.showCloudDeviceIcons`

បង្ហាញរូបតំណាងម៉ាស៊ីន Cloud និងឧបករណ៍នៅជាប់ចំណងជើង workspace ពីចម្ងាយ ដោយមិនអាស្រ័យលើព័ត៌មានលម្អិតសាខា Git និងថត។

Type

`boolean`

Default

`true`

`sidebar.showPullRequests`

Show pull request metadata in the sidebar.

Type

`boolean`

Default

`true`

`sidebar.watchGitStatus`

Watch repository files for sidebar branch and pull request metadata without polling git.

Type

`boolean`

Default

`true`

`sidebar.makePullRequestsClickable`

Allow sidebar pull request metadata to open links when clicked.

Type

`boolean`

Default

`true`

`sidebar.openPullRequestLinksInCmuxBrowser`

Open sidebar pull request links in the embedded cmux browser.

Type

`boolean`

Default

`true`

`sidebar.openPortLinksInCmuxBrowser`

Open sidebar port links in the embedded cmux browser.

Type

`boolean`

Default

`true`

`sidebar.showSSH`

Show SSH connection details.

Type

`boolean`

Default

`true`

`sidebar.showPorts`

Show listening ports.

Type

`boolean`

Default

`true`

`sidebar.showLog`

Show recent log snippets.

Type

`boolean`

Default

`true`

`sidebar.showProgress`

Show progress indicators.

Type

`boolean`

Default

`true`

`sidebar.showAgentUsage`

បន្ថែមការប្រើប្រាស់របស់ភ្នាក់ងារសរសេរកូដទៅក្នុងធាតុស្ថានភាពរបស់ Claude Code ឬ Codex៖ ម៉ូដែល និងផ្ទាំងបរិបទដែលបានប្រើ ហើយសម្រាប់ Claude Code មានការប៉ាន់ស្មានថ្លៃ API (ខ្សែស្រឡាយមេ និងភ្នាក់ងាររង) តាមតម្លៃបញ្ជីដែល Anthropic បានផ្សាយ។ តម្លៃនេះគ្រាន់តែជាការប៉ាន់ស្មាន មិនមែនជាវិក្កយបត្រជាវរបស់អ្នកទេ។ កម្រិត batch និង priority តម្លៃដៃគូ របៀបលឿន និងថ្លៃឧបករណ៍ម៉ាស៊ីនមេ មិនត្រូវបានគិតបញ្ចូលទេ។

Type

`boolean`

Default

`false`

`sidebar.showAgentActivity`

Show the loading spinner on workspaces with running coding agents or active loaders.

Type

`boolean`

Default

`true`

`sidebar.loadingSpinnerPosition`

Which side of the workspace row the loading spinner appears on: leading (left, sharing the unread-badge slot) or trailing (right).

Type

`string`

Default

`"leading"`

Allowed values

`leading, trailing`

`sidebar.notificationBadgePosition`

Which side of the workspace row the unread notification badge appears on: leading (left) or trailing (right).

Type

`string`

Default

`"leading"`

Allowed values

`leading, trailing`

`sidebar.showCustomMetadata`

Show custom metadata pills.

Type

`boolean`

Default

`true`

`sidebar.compactAgentStatus`

បង្ហាញកន្លែងធ្វើការនីមួយៗក្នុងមួយបន្ទាត់៖ រូបតំណាងពណ៌មួយនៅមុខចំណងជើងបង្ហាញស្ថានភាពភ្នាក់ងារ មិនទាន់អាន និង pull request ហើយជំនួសជួរស្ថានភាពភ្នាក់ងារ (ឧទាហរណ៍ កំពុងដំណើរការ ឬ ត្រូវការការបញ្ចូល) បន្ទាត់សាខា និងថត និងជួរ pull request ដែលព័ត៌មានលម្អិតផ្លាស់ទៅក្នុងព័ត៌មានជំនួយរបស់រូបតំណាង។ ធាតុស្ថានភាពផ្សេងទៀតរក្សាជួររបស់ខ្លួន។

Type

`boolean`

Default

`false`

`sidebar.compactStatusIcons`

ឈ្មោះ SF Symbol ដែលជំនួសរូបសញ្ញា compactAgentStatus សម្រាប់ស្ថានភាពនីមួយៗ ឧទាហរណ៍ {"terminal": "apple.terminal", "needsInput": "hand.raised.fill"}។ ស្ថានភាពដែលមិនបានកំណត់រក្សានិមិត្តសញ្ញាដើម ហើយឈ្មោះដែលបង្ហាញមិនបានត្រឡប់ទៅនិមិត្តសញ្ញាដើមវិញ។

Type

`object`

Default

```
{}
```

`sidebar.activeTabIndicatorStyle`

Active workspace indicator style in the sidebar.

Type

`string`

Default

`"leftRail"`

Allowed values

`leftRail, solidFill, rail, border, wash, lift, typography, washRail, blueWashColorRail`

`sidebar.selectionColor`

Override the selected workspace background color in the sidebar.

Type

`unknown`

Default

`null`

`sidebar.notificationBadgeColor`

Override the unread notification badge color in the sidebar.

Type

`unknown`

Default

`null`

`sidebar.rightMaxWidth`

ទទឹងអតិបរមាជាពិន្ទុសម្រាប់របារចំហៀងខាងស្តាំ។ បើមិនបញ្ជាក់ នឹងប្រើដែនកំណត់ថាមវន្តដែលមានស្រាប់។

Type

`number`

Default

`none`

### `workspaceGroups`

Per-cwd customization for sidebar workspace groups. The anchor workspace's cwd is matched against the keys in \`byCwd\`; longest-match wins. Keys containing \`\*\` or \`?\` are matched as fnmatch globs (with \`~\` expanded); other keys are path prefixes.

`workspaceGroups.newWorkspacePlacement`

តម្លៃលំនាំដើមសកលសម្រាប់ទីតាំងដែល Cmd-N នៅក្នុងក្រុម ប៊ូតុង + ក្នុងក្បាលក្រុម និងសកម្មភាពក្រុមដែលបានកំណត់ ដាក់ workspace ថ្មី: \`afterCurrent\` (បន្ទាប់ពី workspace សកម្មក្នុងក្រុម ហើយត្រឡប់ទៅ top ប្រសិនបើគ្មាន), \`top\` (ទីតាំងទីពីរ បន្ទាប់ពី anchor ភ្លាមៗ) ឬ \`end\` (បន្ទាប់ពីសមាជិកចុងក្រោយ).

Type

`string`

Default

`"afterCurrent"`

Allowed values

`afterCurrent, top, end`

`workspaceGroups.byCwd`

Map of cwd patterns to group customization. Empty when omitted.

Type

`object`

Default

`none`

### `workspaceColors`

Workspace tab and badge colors from Settings > Workspace Colors.

`workspaceColors.indicatorStyle`

Active workspace indicator style. Legacy aliases are accepted and normalized.

Type

`string`

Default

`"leftRail"`

Allowed values

`leftRail, solidFill, rail, border, wash, lift, typography, washRail, blueWashColorRail`

`workspaceColors.selectionColor`

Override the selected workspace background color.

Type

`unknown`

Default

`null`

`workspaceColors.subtleSelection`

Show the selected workspace as a faint accent tint with a thin edge instead of a solid fill. A custom selectionColor still uses a solid fill.

Type

`boolean`

Default

`false`

`workspaceColors.brightenInDarkMode`

Lighten workspace colors in dark mode so they stay readable on a dark sidebar. false shows colors exactly as chosen. Applies to the solidFill indicator; leftRail always lightens its rail.

Type

`boolean`

Default

`true`

`workspaceColors.notificationBadgeColor`

Override the unread notification badge color.

Type

`unknown`

Default

`null`

`workspaceColors.colors`

Full named workspace color palette. Include built-in entries you want to keep, remove keys to remove colors, and add more named entries to extend the picker.

Type

`object`

Default

```
{
  "Red": "#C0392B",
  "Crimson": "#922B21",
  "Orange": "#A04000",
  "Amber": "#7D6608",
  "Olive": "#4A5C18",
  "Green": "#196F3D",
  "Teal": "#006B6B",
  "Aqua": "#0E6B8C",
  "Blue": "#1565C0",
  "Navy": "#1A5276",
  "Indigo": "#283593",
  "Purple": "#6A1B9A",
  "Magenta": "#AD1457",
  "Rose": "#880E4F",
  "Brown": "#7B3F00",
  "Charcoal": "#3E4B5E"
}
```

`workspaceColors.paletteOverrides`

Legacy workspace color overrides for built-in palette names. Prefer workspaceColors.colors for new configs.

Type

`object`

Default

```
{}
```

`workspaceColors.customColors`

Legacy list of custom workspace colors. Prefer workspaceColors.colors for new configs.

Type

`array<unknown>`

Default

```
[]
```

`workspaceColors.colors` is the full palette. Keep the built-in keys you want, delete keys to remove colors from the picker, and add more named color entries to extend it. Older `paletteOverrides` and `customColors` files still parse during upgrades, but new files should use `colors`.

```
{
  "workspaceColors": {
    "colors": {
      "Red": "#C0392B",
      "Blue": "#1565C0",
      "Neon Mint": "#00F5D4"
    }
  }
}
```

### `sidebarAppearance`

Sidebar tint settings from Settings > Sidebar Appearance.

`sidebarAppearance.matchTerminalBackground`

Use the terminal background instead of the sidebar tint.

Type

`boolean`

Default

`true`

`sidebarAppearance.tintColor`

Base sidebar tint color used when light/dark overrides are not set.

Type

`unknown`

Default

`"#000000"`

`sidebarAppearance.lightModeTintColor`

Sidebar tint override for light appearance.

Type

`unknown`

Default

`null`

`sidebarAppearance.darkModeTintColor`

Sidebar tint override for dark appearance.

Type

`unknown`

Default

`null`

`sidebarAppearance.tintOpacity`

Sidebar tint opacity from 0 to 1. Note: this only controls the sidebar tint, not terminal/window transparency. For terminal background transparency or blur, set \`background-opacity\` and \`background-blur\` in \`~/.config/ghostty/config\` and run \`cmux reload-config\`.

Type

`number`

Default

`0.18`

### `automation`

Socket control and automation settings from Settings > Automation.

`automation.socketControlMode`

Socket control mode. Legacy aliases are accepted and normalized.

Type

`string`

Default

`"cmuxOnly"`

Allowed values

`off, cmuxOnly, automation, password, allowAll, openAccess, fullOpenAccess, notifications, full`

`automation.socketPassword`

Password for password-mode socket access. Use null or an empty string to clear it.

Type

`string | null`

Default

`""`

`automation.claudeCodeIntegration`

Enable cmux integration hooks for Claude Code.

Type

`boolean`

Default

`true`

`automation.codexIntegration`

Enable cmux integration hooks for Codex. When disabled, cmux no longer wraps the codex command but still tracks live Codex sessions it can observe.

Type

`boolean`

Default

`true`

`automation.canonicalAgentScratch`

Use a cmux-owned scratch directory for native agent panels, organized per session.

Type

`boolean`

Default

`false`

`automation.piIntegration`

Enable cmux integration hooks for Pi.

Type

`boolean`

Default

`true`

`automation.claudeBinaryPath`

Custom path to the claude binary.

Type

`string`

Default

`""`

`automation.workspaceAutoNaming`

ការដាក់ឈ្មោះស្វ័យប្រវត្តិដោយ AI សម្រាប់កន្លែងធ្វើការ និងផ្ទាំងនានា ពីខ្លឹមសារសន្ទនារបស់ភ្នាក់ងារ (ជាជម្រើស)។ នៅពេលបើកដំណើរការ cmux នឹងសង្ខេបវគ្គភ្នាក់ងារដែលគាំទ្រទៅជាចំណងជើងខ្លីៗ ដោយប្រើប្រាស់ binary ផ្ទាល់របស់ភ្នាក់ងារនីមួយៗ; ការប្ដូរឈ្មោះដោយដៃតែងតែមានអាទិភាពជានិច្ច។

Type

`boolean`

Default

`false`

`automation.autoNamingAgent`

ភ្នាក់ងារណាដែលបង្កើតឈ្មោះស្វ័យប្រវត្តិសម្រាប់រាល់សម័យ។ "auto" (លំនាំដើម) ដាក់ឈ្មោះសម័យនីមួយៗដោយភ្នាក់ងាររបស់សម័យនោះផ្ទាល់។ slug ភ្នាក់ងារណាមួយ (claude, codex, grok, opencode, pi, omp, …) នឹងជំនួសការដាក់ឈ្មោះសម្រាប់គ្រប់សម័យ រួមទាំងសម័យរបស់ភ្នាក់ងារផ្សេងទៀត។ ភ្នាក់ងារដែលមិនអាចដំណើរការ ឬមិនបានដំឡើង នឹងត្រឡប់ទៅភ្នាក់ងាររបស់សម័យផ្ទាល់ ដូច្នេះការដាក់ឈ្មោះមិនដែលបរាជ័យឡើយ។

Type

`string`

Default

`"auto"`

`automation.ripgrepBinaryPath`

Custom path to the ripgrep (rg) binary used by project search.

Type

`string`

Default

`""`

`automation.suppressSubagentNotifications`

បិទការជូនដំណឹងបញ្ចប់ដែលបង្ហាញ និងការផ្លាស់ប្តូរស្ថានភាពពីភ្នាក់ងារកូន Codex ឬ Claude ដែលបានបង្កប់ ខណៈពេលរក្សាព្រឹត្តិការណ៍របស់វានៅក្នុងទេលេមេទ្រី Feed។

Type

`boolean`

Default

`true`

`automation.agentAutoResume`

ផ្ញើ \`continue\` ដោយពន្យារពេលជាបណ្តើរៗ ទៅភ្នាក់ងារដែល cmux បានចាប់ផ្តើម ដែលវេនរបស់វាបានបញ្ចប់ដោយកំហុសពីសេវាដែលអាចព្យាយាមម្តងទៀតបាន (ម៉ូដែលពេញសមត្ថភាព ផ្ទុកលើស ឬបាត់ការតភ្ជាប់)។ វេនដែលកំពុងរង់ចាំមនុស្សមិនដែលត្រូវបានបន្តទេ។

Type

`boolean`

Default

`true`

`automation.ampIntegration`

បើក ឬបិទ hook របស់ cmux សម្រាប់ Amp។ ពេលបិទ plugin ដែលភ្ជាប់មកជាមួយនៅតែត្រូវបានដំឡើង ប៉ុន្តែមិនធ្វើអ្វីទេ។

Type

`boolean`

Default

`true`

`automation.cursorIntegration`

Enable cmux integration hooks for Cursor.

Type

`boolean`

Default

`true`

`automation.geminiIntegration`

Enable cmux integration hooks for Gemini.

Type

`boolean`

Default

`true`

`automation.kiroIntegration`

Enable cmux integration hooks for Kiro CLI.

Type

`boolean`

Default

`true`

`automation.kiroNotificationLevel`

Controls how many Kiro tool events appear in Feed.

Type

`string`

Default

`"standard"`

Allowed values

`minimal, standard, verbose`

`automation.portBase`

Starting value for workspace CMUX\_PORT assignments.

Type

`integer`

Default

`9100`

`automation.portRange`

Number of ports reserved per workspace.

Type

`integer`

Default

`10`

### `ui`

UI action wiring, including surface tab bar buttons and plus-button behavior. The plus-button context menu shows ui.newWorkspace.contextMenu (or the default items) followed by actions that opt in via newWorkspaceMenu.

`ui.newWorkspace`

New Workspace button behavior and context-menu wiring.

Type

`object`

Default

`none`

### `agentChat`

Agent Chat GUI server settings. The built-in New agent chat action opens this URL in a browser workspace, probes /healthz first, and can run a configured start command when the server is down.

`agentChat.url`

Base URL for the machine-local Agent Chat GUI server. cmux probes <url>/healthz before opening the workspace.

Type

`string`

Default

`"http://127.0.0.1:7739"`

`agentChat.startCommand`

Optional shell command to start the Agent Chat server when <url>/healthz is unreachable. cmux runs it detached with the user's SHELL, polls healthz for a short bounded window, then opens the workspace either way.

Type

`string`

Default

`none`

`agentChat.keys`

Keyboard behavior overrides for the Agent Chat web UI.

Type

`object`

Default

`none`

`agentChat.fonts`

Font overrides for the Agent Chat web UI. Omitted values fall back to Ghostty and built-in defaults.

Type

`object`

Default

`none`

### `browser`

Embedded browser settings from Settings > Browser.

`browser.defaultSearchEngine`

ម៉ាស៊ីនស្វែងរកលំនាំដើមសម្រាប់សំណួរនៅក្នុងរបារអាសយដ្ឋានដែលមិនមែនជា URL។ ប្រើ custom ជាមួយ customSearchEngineURLTemplate សម្រាប់អ្នកផ្តល់ផ្សេងៗ។

Type

`string`

Default

`"google"`

Allowed values

`google, duckduckgo, bing, kagi, startpage, brave, perplexity, exa, yahoo, ecosia, qwant, mojeek, wikipedia, github, baidu, yandex, custom`

`browser.customSearchEngineName`

ឈ្មោះបង្ហាញដែលប្រើនៅពេល defaultSearchEngine ជា custom។

Type

`string`

Default

`""`

`browser.customSearchEngineURLTemplate`

URL ស្វែងរកដែលប្រើនៅពេល defaultSearchEngine ជា custom។ ដាក់ទីតាំងជំនួសសំណួរ ឬ %s សម្រាប់ពាក្យស្វែងរកដែលបានអ៊ិនកូដ។ ប្រសិនបើគ្មានទីតាំងជំនួស cmux បន្ថែម q= ទៅ URL។

Type

`string`

Default

`"https://www.google.com/search?q={query}"`

`browser.showSearchSuggestions`

Show omnibar search suggestions.

Type

`boolean`

Default

`true`

`browser.theme`

Embedded browser theme.

Type

`string`

Default

`"system"`

Allowed values

`system, light, dark`

`browser.defaultZoomLevel`

Default page zoom factor applied to newly opened browser pages (1 = 100%). Zoom In, Zoom Out, and Actual Size still adjust each page.

Type

`number`

Default

`1`

`browser.discardHiddenWebViews`

Allow hidden browser tabs to release page memory. Scroll position, supported form input, and history are restored when recoverable.

Type

`boolean`

Default

`true`

`browser.hiddenWebViewDiscardMode`

How cmux picks hidden browser tabs to free. budget frees the tabs hidden longest once hidden tabs use more than hiddenWebViewMemoryBudgetMB; timer frees every tab hidden longer than hiddenWebViewDiscardDelaySeconds.

Type

`string`

Default

`"budget"`

Allowed values

`budget, timer`

`browser.hiddenWebViewMemoryBudgetMB`

Megabytes of memory hidden browser tabs may use before cmux frees the tabs hidden longest. Applies when hiddenWebViewDiscardMode is budget.

Type

`integer`

Default

`2048`

`browser.hiddenWebViewDiscardDelaySeconds`

Seconds a browser tab must stay hidden before cmux may free its page memory. In timer mode, every tab hidden this long is freed.

Type

`number`

Default

`300`

`browser.autoRestoreUnloadedPages`

Restore a browser page unloaded to save memory, or whose web process ended while hidden, as soon as its tab is shown. When false, the tab shows the page's last snapshot until you click Restore.

Type

`boolean`

Default

`true`

`browser.askWhereToSaveDownloads`

Show a save panel for browser downloads instead of saving directly to Downloads.

Type

`boolean`

Default

`false`

`browser.showLinkHoverURL`

បង្ហាញទិសដៅរបស់តំណនៅជ្រុងខាងក្រោមឆ្វេងនៃផ្ទាំងកម្មវិធីរុករក ខណៈពេលដែលទស្សន៍ទ្រនិចស្ថិតនៅលើតំណ ឬនៅពេលតំណទទួលបានការផ្ដោតពីក្ដារចុច។

Type

`boolean`

Default

`true`

`browser.openTerminalLinksInCmuxBrowser`

Open clicked terminal links in the embedded browser.

Type

`boolean`

Default

`true`

`browser.interceptTerminalOpenCommandInCmuxBrowser`

Intercept terminal open http(s) commands and route them through the embedded browser.

Type

`boolean`

Default

`true`

`browser.hostsToOpenInEmbeddedBrowser`

Allowlist of hosts that should stay inside the embedded browser.

Type

`array<string>`

Default

```
[]
```

`browser.urlsToAlwaysOpenExternally`

Rules that always open matching URLs in the system browser.

Type

`array<string>`

Default

```
[]
```

`browser.insecureHttpHostsAllowedInEmbeddedBrowser`

HTTP hosts allowed in the embedded browser without a warning prompt.

Type

`array<string>`

Default

```
[
  "localhost",
  "*.localhost",
  "127.0.0.1",
  "::1",
  "0.0.0.0",
  "*.localtest.me"
]
```

`browser.urlAllowlist`

លំនាំម៉ាស៊ីន ឬ URL ដែលដាក់កម្រិតការរុករកក្នុងកម្មវិធីរុករកដែលបានបង្កប់។ ការកំណត់ណែនាំប្រភពអភិវឌ្ឍន៍ក្នុងម៉ាស៊ីន; ការរក្សាទុកបញ្ជីនឹងបើកការដាក់កម្រិតជាជម្រើស។ លុបធាតុដើម្បីទប់ស្កាត់ ឬទុកតម្លៃអ្នកប្រើឱ្យទទេ ប្រសិនបើគ្មានគោលការណ៍គ្រប់គ្រង ដើម្បីបិទការដាក់កម្រិត។

Type

`array<string>`

Default

```
[
  "localhost",
  "*.localhost",
  "127.0.0.1",
  "::1",
  "0.0.0.0",
  "*.localtest.me"
]
```

`browser.showImportHintOnBlankTabs`

Show the browser import hint on blank tabs.

Type

`boolean`

Default

`true`

`browser.reactGrabVersion`

Pinned react-grab version for the browser toolbar helper.

Type

`string`

Default

`"0.1.29"`

### `markdown`

Built-in markdown viewer settings.

`markdown.fontSize`

Default body font size, in points, for newly opened markdown viewers. Zoom a viewer live with Cmd-+ / Cmd-- / Cmd-0.

Type

`integer`

Default

`15`

`markdown.fontFamily`

Default body font family for newly opened markdown viewers. Leave empty for the system markdown font stack.

Type

`string`

Default

`""`

`markdown.maxWidth`

Default maximum reading column width, in CSS pixels, for newly opened markdown viewers.

Type

`integer`

Default

`980`

### `fileEditor`

Built-in file editor settings.

`fileEditor.wordWrap`

រុំបន្ទាត់ទន់ (soft-wrap) សម្រាប់បន្ទាត់ដែលវែងជាងទទឹងកម្មវិធីកែសម្រួល ដូច្នេះមិនចាំបាច់រំកិលផ្ដេកទេ។

Type

`boolean`

Default

`false`

`fileEditor.syntaxHighlighting`

អនុវត្តការដាក់ពណ៌តាមភាសា ទៅលើកូដដែលបើកក្នុងកម្មវិធីកែសម្រួលឯកសារដែលភ្ជាប់មកជាមួយ។

Type

`boolean`

Default

`true`

`fileEditor.lineNumbers`

ដាក់លេខលើបន្ទាត់នីមួយៗក្នុងជួរឈរមួយនៅក្បែរអត្ថបទ នៃកម្មវិធីកែសម្រួលឯកសារដែលភ្ជាប់មកជាមួយ។

Type

`boolean`

Default

`true`

`fileEditor.indentGuides`

សម្គាល់កម្រិតចូលបន្ទាត់នីមួយៗដោយខ្សែបញ្ឈរស្ដើងមួយ នៅក្នុងកម្មវិធីកែសម្រួលឯកសារដែលភ្ជាប់មកជាមួយ។

Type

`boolean`

Default

`true`

`fileEditor.currentLineHighlight`

ដាក់ពណ៌លើជួរដែលមានទស្សន៍ទ្រនិច ពេលមិនមានអ្វីត្រូវបានជ្រើសរើស។

Type

`boolean`

Default

`true`

`fileEditor.tabWidth`

ចំនួនជួរឈរដែល tab stop មួយគ្របដណ្ដប់។ indent guide ប្រើគម្លាតដូចគ្នា។

Type

`integer`

Default

`4`

### `fileExplorer`

ការកំណត់កម្មវិធីរុករកឯកសារ (មែកធាងឯកសារ) នៅក្នុងរបារចំហៀងស្តាំ។

`fileExplorer.doubleClickAction`

កំណត់អ្វីដែលកើតឡើងពេលចុចពីរដង (ឬចុច Return លើលទ្ធផលស្វែងរក) លើឯកសារនៅក្នុងកម្មវិធីរុករកឯកសារ។ \`preview\` បើកការមើលជាមុនឯកសារ cmux ដែលភ្ជាប់មកជាមួយ (ជាលំនាំដើម និងជាឥរិយាបថចាស់)។ \`defaultEditor\` បើកដោយប្រើកម្មវិធីលំនាំដើមរបស់ macOS សម្រាប់ប្រភេទឯកសារនោះ។ \`preferredEditor\` បើកដោយប្រើពាក្យបញ្ជា \`app.preferredEditor\` ហើយត្រឡប់ទៅកម្មវិធីលំនាំដើម ប្រសិនបើមិនបានកំណត់។ អនុវត្តតែលើឯកសារ; ថតតែងតែពង្រីក/បង្រួម ហើយកម្មវិធីរុករកឯកសារដែលមិនមែនក្នុងមូលដ្ឋាន (ពីចម្ងាយ) តែងតែបើកការមើលជាមុនរបស់ cmux។

Type

`string`

Default

`"preview"`

Allowed values

`preview, defaultEditor, preferredEditor`

### `shortcuts`

Keyboard shortcut settings from Settings > Keyboard Shortcuts.

`shortcuts.showModifierHoldHints`

បង្ហាញបន្ទះណែនាំផ្លូវកាត់ ខណៈពេលចុច Cmd ឬ Control ជាប់។

Type

`boolean`

Default

`true`

`shortcuts.when`

លក្ខខណ្ឌបរិបទជាជម្រើសសម្រាប់សកម្មភាពនីមួយៗ (ឃ្លា \`when\` រចនាប័ទ្ម VS Code) ដែលដាក់សន្ទស្សន៍តាមលេខសម្គាល់សកម្មភាព cmux។ តម្លៃនីមួយៗគឺជាកន្សោម boolean លើគន្លឹះបរិបទ ដែលផ្សំជាមួយ !, &&, || និងវង់ក្រចក។ គន្លឹះ boolean: sidebarFocus, browserFocus, markdownFocus, filePreviewTextEditorFocus, simulatorFocus, terminalFocus, commandPaletteVisible, terminalFindVisible, terminalAlternateScreen, workspaceCanvasLayout។ គន្លឹះមានប្រភេទគាំទ្រការប្រៀបធៀប: ខ្សែអក្សរ sidebarMode (files, find, sessions, feed ឬ dock) និងចំនួនគត់ paneCount និង workspaceCount។ សញ្ញាប្រៀបធៀបគឺ ==, !=, =~ (regex), <, <=, >, >= និង \`in \[a, b\]\`; គន្លឹះមិនស្គាល់ ឬមិនមាននឹងត្រូវអានជា false។ អក្សរ boolean true និង false ក៏អាចប្រើបានដែរ; \`key == false\` ដូចគ្នានឹង \`!key\`។ ផ្លូវកាត់របស់សកម្មភាពនឹងដំណើរការ (និងទាស់ជាមួយផ្លូវកាត់ផ្សេងទៀត) តែពេលឃ្លានេះពិតប៉ុណ្ណោះ។ ឧទាហរណ៍: { "selectWorkspaceByNumber": "!sidebarFocus" } ជ្រើសរើស workspace ដោយ Ctrl+1–9 នៅគ្រប់ទីកន្លែង លើកលែងពេលរបារចំហៀងស្តាំមាន focus; { "selectSurfaceByNumber": "sidebarMode == 'find' && paneCount > 1" } កំណត់ការចងទៅរបារចំហៀង Find ពេល workspace មានផ្ទាំងច្រើន។

Type

`object`

Default

```
{}
```

### `shortcuts.bindings`

Use a string for a single shortcut, a two-item array for a chord, or `null` to unbind a shortcut in `shortcuts.bindings`. Unbind aliases also include empty string (`""`), `none`, `clear`, `unbound`, and `disabled`. Example chord: `["ctrl+b", "c"]`. Numbered actions use `1` as the stored default and still match digits `1` through `9`.

The defaults below are the same cmux-owned actions listed on the [keyboard shortcuts page](https://cmux.com/km/docs/keyboard-shortcuts).

#### App

`openSettings`

Settings

Default file value

`cmd+,`

`openTeamPicker`

បើកកម្មវិធីជ្រើសរើសក្រុម

Default file value

`opt+shift+cmd+t`

`reloadConfiguration`

Reload configuration

Default file value

`cmd+shift+,`

`showHideAllWindows`

Show/hide all cmux windowssystem-wide hotkey

Default file value

`ctrl+opt+cmd+.`

`globalSearch`

Global searchwhen cmux is active

Default file value

`opt+cmd+f`

`commandPalette`

Command palette

Default file value

`cmd+shift+p`

`agentInbox`

បង្ហាញប្រអប់ទទួលរបស់ភ្នាក់ងារ

Default file value

`cmd+shift+i`

`commandPaletteNext`

Command palette next resultwhen the command palette is open

Default file value

`ctrl+n`

`commandPalettePrevious`

Command palette previous resultwhen the command palette is open

Default file value

`ctrl+p`

`newWindow`

New window

Default file value

`cmd+shift+n`

`closeWindow`

Close window

Default file value

`ctrl+cmd+w`

`toggleFullScreen`

Toggle full screen

Default file value

`ctrl+cmd+f`

`sendFeedback`

Send feedbackunbound by default

Default file value

`reopenPreviousSession`

Reopen previous session

Default file value

`cmd+shift+o`

`quit`

Quit cmux

Default file value

`cmd+q`

#### Workspace

`toggleSidebar`

Toggle left sidebar

Default file value

`cmd+b`

`toggleFileExplorer`

Toggle right sidebar

Default file value

`cmd+opt+b`

`newTab`

កន្លែងធ្វើការក្នុងម៉ាស៊ីនថ្មី

Default file value

`cmd+n`

`newLocalWorkspace`

កន្លែងធ្វើការមូលដ្ឋានថ្មីបើកកន្លែងធ្វើការមូលដ្ឋាន ខណៈពេលដែលកន្លែងធ្វើការ mirror របស់ tmux ពីចម្ងាយកំពុងសកម្ម ដែលនៅទីនោះ កន្លែងធ្វើការថ្មី នឹងចាប់ផ្តើម session នៅលើម៉ាស៊ីនរបស់កន្លែងធ្វើការនោះជំនួសវិញ

Default file value

`ctrl+opt+cmd+n`

`newBrowserWorkspace`

New browser workspacelike New Workspace, but the first surface is a browser pane with the address bar focused

Default file value

`opt+cmd+n`

`newCloudWorkspace`

កន្លែងធ្វើការលើពពកថ្មីប្រើម៉ាស៊ីនរបស់ Cloud workspace ដែលបានជ្រើសចុងក្រោយ បន្ទាប់មកម៉ាស៊ីនដំបូងក្នុង sidebar ខាងស្ដាំ។ ប្រសិនបើគ្មានម៉ាស៊ីនដែលអាចប្រើបាន នឹងបើក New Cloud Machine

Default file value

`cmd+y`

`newCloudMachine`

ម៉ាស៊ីនលើពពកថ្មី

Default file value

`shift+cmd+y`

`saveLayoutTemplate`

Save current workspace layout as a template

Default file value

`ctrl+cmd+s`

`openFolder`

Open folder

Default file value

`cmd+o`

`goToWorkspace`

Go to workspaceworkspace switcher

Default file value

`cmd+p`

`nextSidebarTab`

Next workspace

Default file value

`ctrl+cmd+]`

`prevSidebarTab`

Previous workspace

Default file value

`ctrl+cmd+[`

`nextSidebarTabInGroup`

Next workspace in groupunbound by default; skips the group anchor and uses window-wide cycling when ungrouped

Default file value

`prevSidebarTabInGroup`

Previous workspace in groupunbound by default; skips the group anchor and uses window-wide cycling when ungrouped

Default file value

`moveWorkspaceUp`

Move workspace up

Default file value

`ctrl+opt+cmd+[`

`moveWorkspaceDown`

Move workspace down

Default file value

`ctrl+opt+cmd+]`

`focusHistoryBack`

Focus backFocus Back/Forward use Cmd+\[ and Cmd+\] outside browser panes; browser Back/Forward use the same defaults inside browser panes. Unbind Focus Back/Forward to let terminal shortcuts handle those keys.

Default file value

`cmd+[`

`focusHistoryForward`

Focus forwardFocus Back/Forward use Cmd+\[ and Cmd+\] outside browser panes; browser Back/Forward use the same defaults inside browser panes. Unbind Focus Back/Forward to let terminal shortcuts handle those keys.

Default file value

`cmd+]`

`focusHistoryLast`

Focus lastunbound by default; toggles between the current position and the one focus last left, so pressing it twice returns where you started

Default file value

`selectWorkspaceByNumber`

Select workspace 1…9

Default file value

`cmd+1`

`renameWorkspace`

Rename workspace

Default file value

`cmd+shift+r`

`editWorkspaceDescription`

Edit workspace description

Default file value

`opt+cmd+e`

`markWorkspaceDone`

Mark workspace as done

Default file value

`cmd+;`

`cycleWorkspaceStatus`

Cycle workspace status one lane forward

Default file value

`cmd+shift+;`

`toggleChecklistItemComplete`

Toggle the highlighted checklist itemApplies in the focused todo pane or checklist popover.

Default file value

`cmd+enter`

`newWorkspaceGroup`

New empty workspace group

Default file value

`ctrl+cmd+g`

`groupSelectedWorkspaces`

Group selected workspaces

Default file value

`cmd+shift+g`

`toggleFocusedWorkspaceGroupCollapsed`

Collapse or expand focused workspace group

Default file value

`ctrl+cmd+.`

`focusSidebar`

Focus the workspace sidebar↑/↓ select workspaces; Return or Esc returns to the terminal

Default file value

`ctrl+cmd+e`

`showWindowHints`

Click by hint: label the window's controlsType a label to click it, Shift+label to right-click; Esc cancels. Preview feature, off by default: turn on Click by Hint in Settings > Beta Features or from the command palette

Default file value

`cmd+j`

`focusRightSidebar`

Toggle right-sidebar focus

Default file value

`cmd+shift+e`

`navigateRightSidebarRows`

Navigate focused sidebar rowsIn Files, H/L collapse and expand folders. Search starts with /.

Default file value

`j / k`

`fileExplorerOpenSelection`

បើកឯកសារដែលបានជ្រើស ឬបើក/បិទថតកម្មវិធីរុករកឯកសារដែលមានផ្តោត

Default file value

`enter`

`fileExplorerOpenSelectionFinderAlias`

បើកឯកសារដែលបានជ្រើស ឬបើក/បិទថតឈ្មោះកាត់រចនាប័ទ្ម Finder សម្រាប់កម្មវិធីរុករកឯកសារដែលមានផ្តោត

Default file value

`cmd+down`

`closeWorkspace`

Close workspace

Default file value

`cmd+shift+w`

`reopenClosedWorkspace`

Reopen closed workspaceunbound by default

Default file value

#### Surface

`newSurface`

New surface

Default file value

`cmd+t`

`nextSurface`

Next surface

Default file value

`cmd+shift+]`

`prevSurface`

Previous surface

Default file value

`cmd+shift+[`

`moveSurfaceLeft`

Reorder surface left

Default file value

`opt+cmd+shift+[`

`moveSurfaceRight`

Reorder surface right

Default file value

`opt+cmd+shift+]`

`moveSurfaceToPreviousPane`

Move surface to previous pane

Default file value

`ctrl+cmd+shift+[`

`moveSurfaceToNextPane`

Move surface to next pane

Default file value

`ctrl+cmd+shift+]`

`moveSurfaceToPaneLeft`

Move surface to pane on left

Default file value

`opt+cmd+shift+left`

`moveSurfaceToPaneRight`

Move surface to pane on right

Default file value

`opt+cmd+shift+right`

`moveSurfaceToPaneUp`

Move surface to pane above

Default file value

`opt+cmd+shift+up`

`moveSurfaceToPaneDown`

Move surface to pane below

Default file value

`opt+cmd+shift+down`

`selectSurfaceByNumber`

Select surface 1…9

Default file value

`ctrl+1`

`renameTab`

Rename tab

Default file value

`cmd+r`

`closeTab`

Close tab

Default file value

`cmd+w`

`closeOtherTabsInPane`

Close other tabs in pane

Default file value

`opt+cmd+t`

`reopenClosedBrowserPanel`

Reopen last closed

Default file value

`cmd+shift+t`

`toggleTerminalCopyMode`

Toggle terminal copy mode

Default file value

`cmd+shift+m`

`clearScreenKeepScrollback`

Clear screen (keep scrollback)

Default file value

`cmd+shift+k`

`simulatorHome`

Simulator: Homefocused Simulator

Default file value

`cmd+shift+h`

`simulatorRotateLeft`

Simulator: rotate leftfocused Simulator

Default file value

`cmd+left`

`simulatorRotateRight`

Simulator: rotate rightfocused Simulator

Default file value

`cmd+right`

`simulatorToggleAppearance`

Simulator: toggle appearancefocused Simulator

Default file value

`cmd+shift+a`

`simulatorToggleSoftwareKeyboard`

Simulator: toggle software keyboardfocused Simulator

Default file value

`cmd+k`

`focusTextBoxInput`

Switch focus between terminal and TextBox input

Default file value

`cmd+shift+a`

`cycleTextBoxSubmitAction`

Cycle TextBox submit action

Default file value

`shift+tab`

`attachTextBoxFile`

Attach file to TextBox input

Default file value

`opt+cmd+shift+a`

`sendCtrlFToTerminal`

Send Ctrl-F to terminalunbound by default; forwards Ctrl-F to the focused terminal (Claude Code: invoke twice to force-stop hung background agents)

Default file value

`sizeTerminalToMyWindow`

Size shared terminal to my windowwhen a terminal is shared with phones or other clients, makes this Mac's window set its grid

Default file value

`ctrl+opt+cmd+=`

`pasteLastScreenshot`

បិទភ្ជាប់រូបថតអេក្រង់ចុងក្រោយមិនបានកំណត់តាមលំនាំដើម; បញ្ចូលផ្លូវនៃរូបថតអេក្រង់ថ្មីបំផុតក្នុងថតរូបថតអេក្រង់ macOS (ផ្ទៃតុ ប្រសិនបើមិនបានប្ដូរ) ទៅក្នុងទែមីណាល់ដែលកំពុងផ្តោត ហើយផ្ទុកវាឡើងជាមុនក្នុងកន្លែងធ្វើការពីចម្ងាយ

Default file value

`saveFilePreview`

Save file previewfocused text preview

Default file value

`cmd+s`

`toggleFileEditorWordWrap`

បិទឬបើកការរុំបន្ទាត់ក្នុងកម្មវិធីកែសម្រួលឯកសារកម្មវិធីកែសម្រួលឯកសារដែលកំពុងផ្តោត

Default file value

`opt+z`

#### បន្ទះបំបែក

`focusLeft`

Focus pane left

Default file value

`opt+cmd+left`

`focusRight`

Focus pane right

Default file value

`opt+cmd+right`

`focusUp`

Focus pane up

Default file value

`opt+cmd+up`

`focusDown`

Focus pane down

Default file value

`opt+cmd+down`

`focusPreviousPane`

Focus previous pane (cycle)unbound by default; a Ghostty goto\_split:previous keybind also cycles panes while Focus Back does not claim the same keys

Default file value

`focusNextPane`

Focus next pane (cycle)unbound by default; a Ghostty goto\_split:next keybind also cycles panes while Focus Forward does not claim the same keys

Default file value

`focusPaneByNumber`

Focus pane 1…9

Default file value

`ctrl+cmd+1`

`splitRight`

Split right

Default file value

`cmd+d`

`splitDown`

Split down

Default file value

`cmd+shift+d`

`newPaneAutoLayout`

New pane (auto layout)retiles all panes like Zellij and cmux-tui Alt-n: the right column fills to four panes before a new column opens

Default file value

`ctrl+cmd+n`

`splitBrowserRight`

Split browser right

Default file value

`opt+cmd+d`

`splitBrowserDown`

Split browser down

Default file value

`opt+cmd+shift+d`

`toggleSplitZoom`

Toggle pane zoom

Default file value

`cmd+shift+enter`

`increaseWorkspaceTerminalFontSize`

Increase font size for every terminal in the selected workspace

Default file value

`ctrl+cmd+=`

`decreaseWorkspaceTerminalFontSize`

Decrease font size for every terminal in the selected workspace

Default file value

`ctrl+cmd+-`

`resetWorkspaceTerminalFontSize`

Reset font size for every terminal in the selected workspace

Default file value

`ctrl+cmd+0`

`equalizeSplits`

Equalize split sizes

Default file value

`ctrl+cmd+shift+=`

`resize-pane-left`

Resize pane left

Default file value

`ctrl+shift+h`

`resize-pane-right`

Resize pane right

Default file value

`ctrl+shift+l`

`resize-pane-up`

Resize pane up

Default file value

`ctrl+shift+k`

`resize-pane-down`

Resize pane down

Default file value

`ctrl+shift+j`

#### ផ្ទាំងក្រណាត់

`toggleCanvasLayout`

Toggle canvas layout

Default file value

`ctrl+cmd+c`

`canvasRevealFocusedPane`

Reveal focused pane

Default file value

`ctrl+cmd+r`

`canvasOverview`

Toggle overview zoom

Default file value

`ctrl+cmd+o`

`canvasZoomIn`

Zoom in

Default file value

`opt+cmd+=`

`canvasZoomOut`

Zoom out

Default file value

`opt+cmd+-`

`canvasZoomReset`

Actual size

Default file value

`cmd+0`

`canvasTidy`

Tidy panes into a grid

Default file value

`ctrl+cmd+t`

#### កម្មវិធីរុករក

`openBrowser`

Open browser

Default file value

`cmd+shift+l`

`focusBrowserAddressBar`

Focus address bar

Default file value

`cmd+l`

`browserBack`

Back

Default file value

`cmd+[`

`browserForward`

Forward

Default file value

`cmd+]`

`browserReload`

Reload pagefocused browser

Default file value

`cmd+r`

`browserHardReload`

ផ្ទុកទំព័រឡើងវិញដោយបង្ខំកម្មវិធីរុករកដែលកំពុងផ្តោត

Default file value

`cmd+shift+r`

`browserZoomIn`

Zoom in

Default file value

`cmd+=`

`browserZoomOut`

Zoom out

Default file value

`cmd+-`

`browserZoomReset`

Actual size

Default file value

`cmd+0`

`markdownZoomIn`

Markdown viewer: zoom infocused markdown viewer

Default file value

`cmd+=`

`markdownZoomOut`

Markdown viewer: zoom outfocused markdown viewer

Default file value

`cmd+-`

`markdownZoomReset`

Markdown viewer: actual sizefocused markdown viewer

Default file value

`cmd+0`

`toggleBrowserDeveloperTools`

Toggle browser developer tools

Default file value

`opt+cmd+i`

`showBrowserJavaScriptConsole`

Show browser JavaScript console

Default file value

`opt+cmd+c`

`toggleBrowserFocusMode`

Enter browser focus modeGives the focused web page first claim on shortcuts. Press Esc twice to exit.

Default file value

`opt+cmd+enter`

`toggleBrowserDesignMode`

Toggle browser design modeSelect and visually edit elements in the focused browser

Default file value

`ctrl+opt+cmd+d`

`toggleReactGrab`

Toggle React Grabfocused browser, or the only browser pane when a terminal is focused

Default file value

`cmd+shift+g`

#### កម្មវិធីមើល diff

`openDiffViewer`

Open diff viewer

Default file value

`ctrl+cmd+shift+d`

`diffViewerScrollDown`

Scroll viewer down one smooth stepfocused diff or Markdown viewer

Default file value

`j`

`diffViewerScrollUp`

Scroll viewer up one smooth stepfocused diff or Markdown viewer

Default file value

`k`

`diffViewerScrollHalfPageDown`

Scroll viewer down half a pagefocused diff or Markdown viewer

Default file value

`ctrl+d`

`diffViewerScrollHalfPageUp`

Scroll viewer up half a pagefocused diff or Markdown viewer

Default file value

`ctrl+u`

`diffViewerScrollDownEmacs`

Scroll viewer down one smooth step (Emacs)focused diff or Markdown viewer

Default file value

`ctrl+n`

`diffViewerScrollUpEmacs`

Scroll viewer up one smooth step (Emacs)focused diff or Markdown viewer

Default file value

`ctrl+p`

`diffViewerScrollToBottom`

Scroll diff to bottomfocused diff viewer

Default file value

`shift+g`

`diffViewerScrollToTop`

Scroll diff to topfocused diff viewer

Default file value

`["g", "g"]`

`diffViewerOpenFileSearch`

Open diff file searchfocused diff viewer

Default file value

`/`

`diffViewerNextFile`

Jump to next diff filefocused diff viewer

Default file value

`["]", "f"]`

`diffViewerPreviousFile`

Jump to previous diff filefocused diff viewer

Default file value

`["[", "f"]]`

`diffViewerNextHunk`

Jump to next hunkfocused diff viewer

Default file value

`"n"`

`diffViewerPreviousHunk`

Jump to previous hunkfocused diff viewer

Default file value

`"p"`

`diffViewerToggleViewed`

បិទ/បើកស្ថានភាពបានមើលនៃឯកសារបច្ចុប្បន្នកម្មវិធីមើលភាពខុសគ្នាដែលកំពុងផ្តោត

Default file value

`"v"`

#### ស្វែងរក

`find`

Find

Default file value

`cmd+f`

`findInDirectory`

Find in directory

Default file value

`cmd+shift+f`

`findNext`

Find next

Default file value

`cmd+g`

`findPrevious`

Find previous

Default file value

`opt+cmd+g`

`hideFind`

Hide find bar

Default file value

`opt+cmd+shift+f`

`useSelectionForFind`

Use selection for find

Default file value

`cmd+e`

#### ជូនដំណឹង

`showNotifications`

Show notifications

Default file value

`cmd+i`

`jumpToUnread`

Jump to latest unread

Default file value

`cmd+shift+u`

`jumpToLastPrompt`

ទៅកាន់ផ្ទៃដែលអ្នកបានផ្ញើប្រអប់បញ្ចូលទៅភ្នាក់ងារចុងក្រោយ

Default file value

`cmd+shift+b`

`toggleUnread`

Toggle current item unread state

Default file value

`opt+cmd+u`

`markOldestUnreadAndJumpNext`

Mark current item as oldest unread and jump to the next latest unread

Default file value

`ctrl+cmd+u`

`markAllNotificationsRead`

សម្គាល់ការជូនដំណឹងទាំងអស់ថាបានអានមិនបានកំណត់តាមលំនាំដើម

Default file value

`clearAllNotifications`

សម្អាតការជូនដំណឹងទាំងអស់មិនបានកំណត់តាមលំនាំដើម

Default file value

`triggerFlash`

Flash focused panel

Default file value

`cmd+shift+h`

### `shortcuts.when`

លក្ខខណ្ឌបរិបទជាជម្រើសសម្រាប់សកម្មភាពនីមួយៗ (ឃ្លា when រចនាប័ទ្ម VS Code) ដែលដាក់សន្ទស្សន៍តាមលេខសម្គាល់សកម្មភាព cmux។ ការចងនឹងដំណើរការ — និងទាស់ជាមួយការចងផ្សេងទៀតលើការចុចដូចគ្នា — តែពេលឃ្លារបស់វាពិតប៉ុណ្ណោះ។ បើមិនដាក់ឃ្លា សកម្មភាពនឹងរក្សាបរិបទដើមរបស់វា។ វាក្យសព្ទក្នុងឃ្លា៖

-   `sidebarFocus`, `browserFocus`, `markdownFocus`, `filePreviewTextEditorFocus`, `simulatorFocus`, `terminalFocus`, `commandPaletteVisible`, `terminalFindVisible`, `terminalAlternateScreen`, `workspaceCanvasLayout` — គន្លឹះ boolean។ គន្លឹះមិនស្គាល់ ឬមិនមាននឹងត្រូវអានជា false ហើយក៏អាចប្រើ true និង false ផងដែរ។
-   `sidebarMode` (`files`, `find`, `sessions`, `feed`, `dock`), `paneCount`, `workspaceCount` — គន្លឹះមានប្រភេទសម្រាប់ការប្រៀបធៀប៖ មុខងារសកម្មរបស់របារចំហៀងស្តាំ (ខ្សែអក្សរ) និងចំនួនផ្ទាំង និង workspace (ចំនួនគត់)។
-   `!`, `&&`, `||`, `(…)`, `==`, `!=`, `=~`, `<`, `<=`, `>`, `>=`, `in [a, b]` — សញ្ញាប្រមាណវិធី boolean ការប្រៀបធៀបតាមប្រភេទ ការផ្គូផ្គង regex និងសមាជិកភាពក្នុងបញ្ជី។ ការប្រៀបធៀបចងតឹងជាង && និង ||។

ឧទាហរណ៍ ការកំណត់នេះធ្វើឱ្យ Ctrl+1–9 ជ្រើសរើស workspace នៅគ្រប់ទីកន្លែង លើកលែងពេលរបារចំហៀងស្តាំមាន focus (ទុក Ctrl+1–5 សម្រាប់កុងតាក់មុខងាររបារចំហៀង) ហើយកំណត់ការជ្រើសរើសផ្ទៃទៅរបារចំហៀង Find ពេល workspace មានផ្ទាំងច្រើន៖

```
"shortcuts": {
  "bindings": { "selectWorkspaceByNumber": "ctrl+1" },
  "when": {
    "selectWorkspaceByNumber": "!sidebarFocus",
    "selectSurfaceByNumber": "sidebarMode == 'find' && paneCount > 1"
  }
}
```

Canonical: https://cmux.com/km/docs/configuration

Documentation index: https://cmux.com/llms.txt
