TerminalConfig

data class TerminalConfig(val theme: String = DEFAULT_THEME, val treatAmbiguousAsWide: Boolean = DEFAULT_TREAT_AMBIGUOUS_AS_WIDE, val fontFamily: String = DEFAULT_FONT_FAMILY, val fontSize: Int = DEFAULT_FONT_SIZE, val columns: Int = DEFAULT_COLUMNS, val rows: Int = DEFAULT_ROWS, val cursorBlinkMillis: Int = DEFAULT_CURSOR_BLINK_MILLIS, val useSystemFallbackFonts: Boolean = DEFAULT_USE_SYSTEM_FALLBACK_FONTS, val cursorShape: String = DEFAULT_CURSOR_SHAPE, val shellPath: String = DEFAULT_SHELL_PATH, val startDirectory: String = DEFAULT_START_DIRECTORY, val audibleBell: Boolean = DEFAULT_AUDIBLE_BELL, val visualBell: Boolean = DEFAULT_VISUAL_BELL, val pasteOnMiddleClick: Boolean = DEFAULT_PASTE_ON_MIDDLE_CLICK, val pasteSanitizationPolicy: PasteSanitizationPolicy = DEFAULT_PASTE_SANITIZATION_POLICY, val scrollbackLines: Int = DEFAULT_SCROLLBACK_LINES, val lineHeight: Float = DEFAULT_LINE_HEIGHT, val shellRequestResizeWindow: Boolean = DEFAULT_SHELL_REQUEST_RESIZE_WINDOW, val shellRequestWindowManipulation: Boolean = DEFAULT_SHELL_REQUEST_WINDOW_MANIPULATION, val desktopNotificationsEnabled: Boolean = DEFAULT_DESKTOP_NOTIFICATIONS_ENABLED, val shellSuggestionsEnabled: Boolean = DEFAULT_SHELL_SUGGESTIONS_ENABLED, val persistentCommandHistoryEnabled: Boolean = DEFAULT_PERSISTENT_COMMAND_HISTORY_ENABLED, val clipboardLocalWrite: TerminalClipboardPermission = DEFAULT_CLIPBOARD_LOCAL_WRITE, val clipboardRemoteWrite: TerminalClipboardPermission = DEFAULT_CLIPBOARD_REMOTE_WRITE, val clipboardRead: TerminalClipboardPermission = DEFAULT_CLIPBOARD_READ, val clipboardMaxDecodedBytes: Int = DEFAULT_CLIPBOARD_MAX_DECODED_BYTES, val titleLocalPermission: TerminalTitlePermission = DEFAULT_TITLE_LOCAL_PERMISSION, val titleRemotePermission: TerminalTitlePermission = DEFAULT_TITLE_REMOTE_PERMISSION)

Host-neutral configuration settings for the terminal emulator.

This data class is immutable. For updates, a new instance is created via copy. The settings are serialized to/from a TOML configuration file on disk.

All numeric bounds are published in the companion object so that the UI layer, the TOML config manager, and the data class validation all share one source of truth instead of repeating magic numbers.

Constructors

Link copied to clipboard
constructor(theme: String = DEFAULT_THEME, treatAmbiguousAsWide: Boolean = DEFAULT_TREAT_AMBIGUOUS_AS_WIDE, fontFamily: String = DEFAULT_FONT_FAMILY, fontSize: Int = DEFAULT_FONT_SIZE, columns: Int = DEFAULT_COLUMNS, rows: Int = DEFAULT_ROWS, cursorBlinkMillis: Int = DEFAULT_CURSOR_BLINK_MILLIS, useSystemFallbackFonts: Boolean = DEFAULT_USE_SYSTEM_FALLBACK_FONTS, cursorShape: String = DEFAULT_CURSOR_SHAPE, shellPath: String = DEFAULT_SHELL_PATH, startDirectory: String = DEFAULT_START_DIRECTORY, audibleBell: Boolean = DEFAULT_AUDIBLE_BELL, visualBell: Boolean = DEFAULT_VISUAL_BELL, pasteOnMiddleClick: Boolean = DEFAULT_PASTE_ON_MIDDLE_CLICK, pasteSanitizationPolicy: PasteSanitizationPolicy = DEFAULT_PASTE_SANITIZATION_POLICY, scrollbackLines: Int = DEFAULT_SCROLLBACK_LINES, lineHeight: Float = DEFAULT_LINE_HEIGHT, shellRequestResizeWindow: Boolean = DEFAULT_SHELL_REQUEST_RESIZE_WINDOW, shellRequestWindowManipulation: Boolean = DEFAULT_SHELL_REQUEST_WINDOW_MANIPULATION, desktopNotificationsEnabled: Boolean = DEFAULT_DESKTOP_NOTIFICATIONS_ENABLED, shellSuggestionsEnabled: Boolean = DEFAULT_SHELL_SUGGESTIONS_ENABLED, persistentCommandHistoryEnabled: Boolean = DEFAULT_PERSISTENT_COMMAND_HISTORY_ENABLED, clipboardLocalWrite: TerminalClipboardPermission = DEFAULT_CLIPBOARD_LOCAL_WRITE, clipboardRemoteWrite: TerminalClipboardPermission = DEFAULT_CLIPBOARD_REMOTE_WRITE, clipboardRead: TerminalClipboardPermission = DEFAULT_CLIPBOARD_READ, clipboardMaxDecodedBytes: Int = DEFAULT_CLIPBOARD_MAX_DECODED_BYTES, titleLocalPermission: TerminalTitlePermission = DEFAULT_TITLE_LOCAL_PERMISSION, titleRemotePermission: TerminalTitlePermission = DEFAULT_TITLE_REMOTE_PERMISSION)

Types

Link copied to clipboard
object Companion

Published bounds and defaults for all terminal configuration fields.

Properties

Link copied to clipboard

whether host UI should play a system bell for BEL events.

Link copied to clipboard

OSC 52 write permission for local sessions.

Link copied to clipboard

maximum decoded clipboard payload size.

Link copied to clipboard

OSC 52 read/query permission.

Link copied to clipboard

OSC 52 write permission for remote sessions.

Link copied to clipboard

preferred initial terminal columns.

Link copied to clipboard

cursor blink period in milliseconds. Zero disables blinking.

Link copied to clipboard

default cursor shape id: block, underline, or beam.

Link copied to clipboard

whether desktop notifications are enabled.

Link copied to clipboard

primary terminal font family name.

Link copied to clipboard

primary terminal font size in points.

Link copied to clipboard

font metric line-height multiplier.

Link copied to clipboard

whether middle mouse click should paste clipboard text.

Link copied to clipboard

transformation applied to pasted text before terminal-host emission.

Link copied to clipboard

whether completed command metadata is retained by supporting product hosts across application restarts.

Link copied to clipboard
val rows: Int

preferred initial terminal rows.

Link copied to clipboard

maximum retained scrollback lines.

Link copied to clipboard

command or executable path used when opening a local shell.

Link copied to clipboard

whether shell application window/grid resize requests are honored.

Link copied to clipboard

whether host-provided shell suggestions may be shown in the terminal UI.

Link copied to clipboard

initial working directory for newly opened shells.

Link copied to clipboard

built-in color theme id, such as one-dark or nord.

Link copied to clipboard

window/tab renaming permission for local sessions.

Link copied to clipboard

window/tab renaming permission for remote sessions.

Link copied to clipboard

whether East Asian Ambiguous characters occupy two cells in core width policy.

Link copied to clipboard

whether Swing rendering may scan installed system fonts after configured fallback fonts fail.

Link copied to clipboard

whether host UI should show a visual indicator for BEL events.