Configuration
imux lit la configuration depuis les fichiers de configuration Ghostty, vous offrant des options familières si vous venez de Ghostty.
Config File Locations
imux cherche la configuration dans ces emplacements (dans l'ordre) :
~/.icc/— Per-user imux data directory. Stores session snapshots, logs, and internal state.~/.config/ghostty/config— Ghostty config file for terminal font, theme, colors, split styling, scrollback, and working directory settings.Xcode build settings (Info.plist, entitlements)— Build-time configuration for bundle identity, capabilities, and signing.
UserDefaults Keys
imux uses UserDefaults for persistent app settings. Key prefixes follow domain-based patterns:
- Appearance keys use prefixes like theme_, font_, and opacity_ for visual preferences.
- Automation keys control socket access mode (ICC_SOCKET_MODE) and related security settings.
- Workspace keys store sidebar visibility, pane sizes, and window frame persistence.
- Defaults can be set via the defaults command-line tool or through the in-app Settings panel.
Appearance Settings
Customize how imux looks and feels:
- Theme — Choose between System (follows macOS), Light, or Dark mode. Configured in Settings > Appearance or via the Ghostty config file.
- Font Size — Set the terminal font family and size in the Ghostty config file. Adjust in real-time with Cmd+Plus and Cmd+Minus.
- Opacity — Control window and split pane transparency. Unfocused split opacity is configurable separately from the main window.
Shell Settings
Configure the shell environment for new terminal surfaces:
- Default Shell — Set your preferred shell (zsh, bash, fish, etc.). imux respects your macOS user shell by default.
- Shell Arguments — Pass custom arguments to the shell on startup, such as login flags or command execution.
- Working Directory — Set the default directory for new terminal surfaces. Can be a fixed path or a dynamic value like the current project root.
Notification Settings
Control which events trigger desktop notifications:
- Agent completion: notify when a long-running AI agent finishes a task.
- Command completion: notify after shell commands that exceed a configurable duration threshold.
- CI/build events: notify on build success, failure, or test completion from sidebar status entries.
- Suppression: desktop alerts are suppressed when imux is focused, the active workspace matches, or the notification panel is open.
Keyboard Shortcut Customization
Customize keyboard shortcuts via macOS UserDefaults:
# Set a custom shortcut via defaults write
defaults write com.icc.icc NSUserKeyEquivalents -dict-add "New Workspace" "@t"For the full list of default shortcuts, see the Keyboard Shortcuts page.
Session Persistence Settings
Control how imux saves and restores workspace state:
- Autosave cadence: configure how often session snapshots are written (default: on workspace change and app deactivation).
- Snapshot limits: set maximum windows, workspaces, panels, layout depth, and scrollback lines per snapshot.
- Maximum snapshot bytes: cap the total size of session data to prevent unbounded growth.
- Automated test disablement: session restore is automatically disabled during XCTest runs to avoid state interference.
Remote Connection Defaults
Default settings for SSH-based remote workspaces:
- Default SSH port and identity file, read from your OpenSSH config.
- Auto-reconnect behavior: enable or disable automatic reconnection on network drops.
- Remote helper manifest URL: where imux fetches the iccd-remote binary for deployment to remote hosts.
Ghostty config changes take effect on the next terminal surface. App Settings changes (via Cmd+,) apply immediately.