Table of Contents

Class ControlDefaults

Namespace
SharpConsoleUI.Configuration
Assembly
SharpConsoleUI.dll

Centralized default values and constants for control behavior. Extracted from magic numbers scattered throughout the codebase.

public static class ControlDefaults
Inheritance
ControlDefaults
Inherited Members

Fields

AsyncCleanupTimeoutSeconds

Timeout for async window thread cleanup in seconds (default: 5)

public const int AsyncCleanupTimeoutSeconds = 5

Field Value

int

BrowseModeHint

Hint text shown when the editor is focused but not in editing mode

public const string BrowseModeHint = "Enter to edit"

Field Value

string

CalendarDayColumnWidth

Width of each day column in the calendar grid (3 chars: space + 2 digits).

public const int CalendarDayColumnWidth = 3

Field Value

int

CalendarDefaultDateFormat

Default date format when no culture-specific format is provided.

public const string CalendarDefaultDateFormat = "yyyy-MM-dd"

Field Value

string

CalendarGridColumns

Number of columns in the calendar grid (days of week).

public const int CalendarGridColumns = 7

Field Value

int

CalendarGridRows

Maximum number of week rows in the calendar grid.

public const int CalendarGridRows = 6

Field Value

int

CalendarNextMonthArrow

Arrow character for navigating to the next month.

public const string CalendarNextMonthArrow = "►"

Field Value

string

CalendarPortalHeight

Total height of the calendar portal in rows.

public const int CalendarPortalHeight = 10

Field Value

int

CalendarPortalWidth

Total width of the calendar portal in characters.

public const int CalendarPortalWidth = 28

Field Value

int

CalendarPrevMonthArrow

Arrow character for navigating to the previous month.

public const string CalendarPrevMonthArrow = "◄"

Field Value

string

ContinuousPressIntervalMs

Interval for continuous mouse button press polling in milliseconds (default: 100ms)

public const int ContinuousPressIntervalMs = 100

Field Value

int

DatePickerDefaultPrompt

Default prompt text for DatePicker controls.

public const string DatePickerDefaultPrompt = "Date:"

Field Value

string

DatePickerDropdownIndicator

Dropdown indicator character for the DatePicker calendar toggle.

public const string DatePickerDropdownIndicator = "▼"

Field Value

string

DefaultBlinkRateMs

Cursor blink rate for text inputs in milliseconds (default: 500ms)

public const int DefaultBlinkRateMs = 500

Field Value

int

DefaultBorderWidth

Default border width for controls (default: 1)

public const int DefaultBorderWidth = 1

Field Value

int

DefaultCanvasHeight

Default canvas height in characters (default: 20).

public const int DefaultCanvasHeight = 20

Field Value

int

DefaultCanvasWidth

Default canvas width in characters (default: 40).

public const int DefaultCanvasWidth = 40

Field Value

int

DefaultCollapsedIcon

Icon for collapsed tree nodes (default: "▶")

public const string DefaultCollapsedIcon = "▶"

Field Value

string

DefaultDebounceMs

Debounce delay for rapid input events in milliseconds (default: 300ms)

public const int DefaultDebounceMs = 300

Field Value

int

DefaultDialogHeight

Default height for dialog windows (default: 20 lines)

public const int DefaultDialogHeight = 20

Field Value

int

DefaultDialogWidth

Default width for dialog windows (default: 60 characters)

public const int DefaultDialogWidth = 60

Field Value

int

DefaultDoubleClickThresholdMs

Maximum time between clicks to register as double-click in milliseconds (default: 500ms)

public const int DefaultDoubleClickThresholdMs = 500

Field Value

int

DefaultEditorViewportHeight

Default viewport height for multiline editor in lines (default: 10)

public const int DefaultEditorViewportHeight = 10

Field Value

int

DefaultEditorWidth

Fallback width for multiline editor when effective width is unknown (default: 80)

public const int DefaultEditorWidth = 80

Field Value

int

DefaultEllipsisLength

Length of ellipsis when truncating text: "..." (default: 3)

public const int DefaultEllipsisLength = 3

Field Value

int

DefaultExpandedIcon

Icon for expanded tree nodes (default: "▼")

public const string DefaultExpandedIcon = "▼"

Field Value

string

DefaultFocusPrefix

Prefix shown before focused button text (default: ">")

public const string DefaultFocusPrefix = ">"

Field Value

string

DefaultFocusSuffix

Suffix shown after focused button text (default: "<")

public const string DefaultFocusSuffix = "<"

Field Value

string

DefaultIndentSize

Indentation size for nested tree nodes (default: 2 spaces)

public const int DefaultIndentSize = 2

Field Value

int

DefaultMinTextWidth

Minimum width for text fields (default: 3)

public const int DefaultMinTextWidth = 3

Field Value

int

DefaultMinimumVisibleItems

Minimum number of visible items in lists/trees before scrolling (default: 3)

public const int DefaultMinimumVisibleItems = 3

Field Value

int

DefaultNavigationViewCompactPaneWidth

Width of the navigation pane in Compact display mode (default: 5).

public const int DefaultNavigationViewCompactPaneWidth = 5

Field Value

int

DefaultNavigationViewCompactThreshold

Width threshold at or above which Auto display mode resolves to Compact (default: 50). Below this threshold, Auto resolves to Minimal.

public const int DefaultNavigationViewCompactThreshold = 50

Field Value

int

DefaultNavigationViewExpandedThreshold

Width threshold at or above which Auto display mode resolves to Expanded (default: 80).

public const int DefaultNavigationViewExpandedThreshold = 80

Field Value

int

DefaultNavigationViewPaneWidth

Default width of the NavigationView left pane in characters (default: 26).

public const int DefaultNavigationViewPaneWidth = 26

Field Value

int

DefaultPadding

Default padding around controls (default: 1)

public const int DefaultPadding = 1

Field Value

int

DefaultPageScrollMultiplier

Multiplier for page up/down scrolling (default: 5x viewport height)

public const int DefaultPageScrollMultiplier = 5

Field Value

int

DefaultScrollStep

Number of lines to scroll per arrow key press (default: 1)

public const int DefaultScrollStep = 1

Field Value

int

DefaultScrollWheelLines

Number of lines to scroll per mouse wheel tick (default: 3)

public const int DefaultScrollWheelLines = 3

Field Value

int

DefaultSelectionIndicator

Selection indicator prefix (default: ">")

public const string DefaultSelectionIndicator = ">"

Field Value

string

DefaultTabSize

Default tab size in spaces for multiline editor (default: 4)

public const int DefaultTabSize = 4

Field Value

int

DefaultTerminalScrollWheelLines

Number of lines to scroll per mouse wheel tick in the terminal control (default: 3)

public const int DefaultTerminalScrollWheelLines = 3

Field Value

int

DefaultTerminalScrollbackLines

Default number of scrollback lines retained by the terminal control (default: 1000)

public const int DefaultTerminalScrollbackLines = 1000

Field Value

int

DefaultTextPadding

Default padding around text content: " text " (default: 4 total, 2 each side)

public const int DefaultTextPadding = 4

Field Value

int

DefaultTitlePadding

Default padding for window titles: "[ title ]" (default: 5 for brackets and spaces)

public const int DefaultTitlePadding = 5

Field Value

int

DefaultToolbarRowHeight

Default row height for toolbar rows when no explicit height is set and all items measure as height 1 (default: 1).

public const int DefaultToolbarRowHeight = 1

Field Value

int

DefaultUndoLimit

Default maximum undo history depth (default: 100)

public const int DefaultUndoLimit = 100

Field Value

int

DefaultVisibleItems

Default number of visible items in lists/trees (default: 10)

public const int DefaultVisibleItems = 10

Field Value

int

DefaultWindowHeight

Default height for new windows (default: 20 lines)

public const int DefaultWindowHeight = 20

Field Value

int

DefaultWindowMinimumHeight

Minimum height for windows in character rows (default: 3)

public const int DefaultWindowMinimumHeight = 3

Field Value

int

DefaultWindowMinimumWidth

Minimum width for windows in character columns (default: 10)

public const int DefaultWindowMinimumWidth = 10

Field Value

int

DefaultWindowWidth

Default width for new windows (default: 40 characters)

public const int DefaultWindowWidth = 40

Field Value

int

DropdownClosedArrow

Arrow indicator for a closed dropdown (points down). Uses small triangle (U+25BE) which is reliably 1-column wide across terminals.

public const string DropdownClosedArrow = "▾"

Field Value

string

DropdownOpenArrow

Arrow indicator for an open dropdown (points up). Uses small triangle (U+25B4) which is reliably 1-column wide across terminals.

public const string DropdownOpenArrow = "▴"

Field Value

string

DropdownScrollDownArrow

Scroll-down indicator for dropdown portal. Uses small triangle (U+25BE) which is reliably 1-column wide across terminals.

public const string DropdownScrollDownArrow = "▾"

Field Value

string

DropdownScrollUpArrow

Scroll-up indicator for dropdown portal. Uses small triangle (U+25B4) which is reliably 1-column wide across terminals.

public const string DropdownScrollUpArrow = "▴"

Field Value

string

EditingModeHint

Hint text shown when the editor is in editing mode

public const string EditingModeHint = "Esc to stop editing"

Field Value

string

ErrorTransformDelayMs

Delay before transforming hung window to error state in milliseconds (default: 500ms)

public const int ErrorTransformDelayMs = 500

Field Value

int

ErrorWindowBorderOffset

Border offset for error window sizing (default: 4)

public const int ErrorWindowBorderOffset = 4

Field Value

int

ErrorWindowSpacingOffset

Spacing offset for error window sizing (default: 6)

public const int ErrorWindowSpacingOffset = 6

Field Value

int

GracePeriodWarningThresholdSeconds

Warning threshold during grace period in seconds (default: 3) Shows countdown when remaining time falls below this

public const int GracePeriodWarningThresholdSeconds = 3

Field Value

int

HorizontalSplitterKeyboardJumpSize

Number of rows moved per Shift+Arrow key press on horizontal splitter (default: 5).

public const int HorizontalSplitterKeyboardJumpSize = 5

Field Value

int

HorizontalSplitterMinControlHeight

Minimum height for controls adjacent to a horizontal splitter (default: 3).

public const int HorizontalSplitterMinControlHeight = 3

Field Value

int

LineGraphDefaultAxisFormat

Default format string for Y-axis labels (default: "F1").

public const string LineGraphDefaultAxisFormat = "F1"

Field Value

string

LineGraphDefaultHeight

Default height of the graph area in lines (default: 10).

public const int LineGraphDefaultHeight = 10

Field Value

int

LineGraphDefaultMaxDataPoints

Default maximum number of data points per series (default: 100).

public const int LineGraphDefaultMaxDataPoints = 100

Field Value

int

LineGraphDefaultReferenceLineChar

Default character for reference lines.

public const char LineGraphDefaultReferenceLineChar = '─'

Field Value

char

LineGraphDefaultReferenceLineColor

Default color for reference lines.

public static readonly Color LineGraphDefaultReferenceLineColor

Field Value

Color

LineGraphEmptyCellColor

Color for empty braille/ASCII cells in line graphs.

public static readonly Color LineGraphEmptyCellColor

Field Value

Color

LineGraphLegendEntryGap

Gap between legend entries in characters.

public const int LineGraphLegendEntryGap = 2

Field Value

int

LineGraphLegendMarkerChar

Character used for the legend color marker (horizontal line segment).

public const char LineGraphLegendMarkerChar = '━'

Field Value

char

LineGraphLegendMarkerWidth

Width of the legend marker including trailing space (marker char + space).

public const int LineGraphLegendMarkerWidth = 2

Field Value

int

LineGraphMarkerArrowLeft

Left-side marker arrow character (points right, towards graph). Uses small triangle (U+25B8) which is reliably 1-column wide.

public const string LineGraphMarkerArrowLeft = "▸"

Field Value

string

LineGraphMarkerArrowRight

Right-side marker arrow character (points left, towards graph). Uses small triangle (U+25C2) which is reliably 1-column wide.

public const string LineGraphMarkerArrowRight = "◂"

Field Value

string

LineGraphMarkerPadding

Padding between graph edge and marker arrow/label.

public const int LineGraphMarkerPadding = 1

Field Value

int

LineGraphMinHeight

Minimum height of the graph area in lines (default: 3).

public const int LineGraphMinHeight = 3

Field Value

int

LineGraphYAxisLabelPadding

Padding between Y-axis labels and the graph area (default: 1).

public const int LineGraphYAxisLabelPadding = 1

Field Value

int

LineNumberGutterPadding

Number of spaces after line numbers in the gutter (default: 1)

public const int LineNumberGutterPadding = 1

Field Value

int

MaxTabSize

Maximum allowed tab size in spaces (default: 8)

public const int MaxTabSize = 8

Field Value

int

MenuAimDelayMs

Delay in ms before switching top-level menu items when a submenu is open.

public const int MenuAimDelayMs = 300

Field Value

int

MenuDropdownItemTextPadding

Text padding inside dropdown menu items: 2 left + 2 right (default: 4).

public const int MenuDropdownItemTextPadding = 4

Field Value

int

MenuDropdownMaxWidth

Maximum width for a dropdown menu in characters (default: 50)

public const int MenuDropdownMaxWidth = 50

Field Value

int

MenuDropdownMinWidth

Minimum width for a dropdown menu in characters (default: 15)

public const int MenuDropdownMinWidth = 15

Field Value

int

MenuItemDropdownPadding

Extra padding for dropdown item width calculation including shortcut spacing (default: 10)

public const int MenuItemDropdownPadding = 10

Field Value

int

MenuItemHorizontalPadding

Horizontal padding added to each menu bar item: " text " (default: 4, 2 each side)

public const int MenuItemHorizontalPadding = 4

Field Value

int

MenuMaxDropdownHeight

Maximum number of items visible in a dropdown before scrolling (default: 20)

public const int MenuMaxDropdownHeight = 20

Field Value

int

MenuSubmenuHoverDelayMs

Delay in milliseconds before a submenu opens on hover (default: 150ms)

public const int MenuSubmenuHoverDelayMs = 150

Field Value

int

MenuSubmenuIndicator

Submenu indicator arrow (narrow, reliably 1-wide).

public const string MenuSubmenuIndicator = "▸"

Field Value

string

MenuSubmenuIndicatorWidth

Width reserved for the submenu indicator character plus spacing (default: 2).

public const int MenuSubmenuIndicatorWidth = 2

Field Value

int

MinCanvasSize

Minimum allowed canvas dimension in either axis (default: 1).

public const int MinCanvasSize = 1

Field Value

int

MinNavigationViewPaneWidth

Minimum width of the NavigationView left pane in characters (default: 10).

public const int MinNavigationViewPaneWidth = 10

Field Value

int

MinimumErrorWindowWidth

Minimum width for error windows (default: 50 characters)

public const int MinimumErrorWindowWidth = 50

Field Value

int

ModalWindowLeftOffset

Left offset for modal window positioning relative to parent (default: 5)

public const int ModalWindowLeftOffset = 5

Field Value

int

ModalWindowTopOffset

Top offset for modal window positioning relative to parent (default: 3)

public const int ModalWindowTopOffset = 3

Field Value

int

NavigationViewCollapsedIndicator

Indicator shown before collapsed header text (default: "[+]").

public const string NavigationViewCollapsedIndicator = "[+]"

Field Value

string

NavigationViewExpandedIndicator

Indicator shown before expanded header text (default: "[-]").

public const string NavigationViewExpandedIndicator = "[-]"

Field Value

string

NavigationViewHamburgerChar

Character used as the hamburger menu icon in Compact and Minimal modes.

public const char NavigationViewHamburgerChar = '≡'

Field Value

char

NavigationViewHamburgerClickWidth

Width of the clickable area for the hamburger icon in the content header (default: 3). Only clicks within this many characters from the left edge open the navigation portal.

public const int NavigationViewHamburgerClickWidth = 3

Field Value

int

NavigationViewHeaderTopMargin

Number of blank lines rendered above a header for visual spacing (default: 1). Skipped for the first header in the list.

public const int NavigationViewHeaderTopMargin = 1

Field Value

int

NavigationViewItemOverhead

Fixed character overhead per navigation item row (leading spaces + indicator + trailing space).

public const int NavigationViewItemOverhead = 4

Field Value

int

NavigationViewSelectedBgB

Blue component of the NavigationView selected item background (default: 80).

public const int NavigationViewSelectedBgB = 80

Field Value

int

NavigationViewSelectedBgG

Green component of the NavigationView selected item background (default: 50).

public const int NavigationViewSelectedBgG = 50

Field Value

int

NavigationViewSelectedBgR

Red component of the NavigationView selected item background (default: 40).

public const int NavigationViewSelectedBgR = 40

Field Value

int

NavigationViewSubItemExtraIndent

Extra indent (in characters) applied to sub-items under a header (default: 2).

public const int NavigationViewSubItemExtraIndent = 2

Field Value

int

NavigationViewTransitionDurationMs

Duration in milliseconds for navigation pane width transition animations (default: 200).

public const int NavigationViewTransitionDurationMs = 200

Field Value

int

NotificationDefaultTimeoutMs

Default auto-dismiss timeout for notifications in milliseconds (default: 5000)

public const int NotificationDefaultTimeoutMs = 5000

Field Value

int

NotificationHorizontalPadding

Horizontal padding added to notification window width beyond message length (default: 8)

public const int NotificationHorizontalPadding = 8

Field Value

int

NotificationVerticalPadding

Vertical padding added to notification window height beyond message line count (default: 5)

public const int NotificationVerticalPadding = 5

Field Value

int

RangeSliderDefaultMinRange

Default minimum range gap between low and high thumbs on a RangeSlider (default: 0.0).

public const double RangeSliderDefaultMinRange = 0

Field Value

double

SegmentPendingDigitTimeoutMs

Timeout in milliseconds before a pending first digit is auto-committed.

public const int SegmentPendingDigitTimeoutMs = 1500

Field Value

int

SliderDefaultLargeStep

Default large step increment for Page Up/Down and Shift+Arrow (default: 10.0).

public const double SliderDefaultLargeStep = 10

Field Value

double

SliderDefaultMaxValue

Default maximum value for slider controls (default: 100.0).

public const double SliderDefaultMaxValue = 100

Field Value

double

SliderDefaultMinValue

Default minimum value for slider controls (default: 0.0).

public const double SliderDefaultMinValue = 0

Field Value

double

SliderDefaultStep

Default step increment for slider controls (default: 1.0).

public const double SliderDefaultStep = 1

Field Value

double

SliderDefaultValueFormat

Default format string for the slider value label (default: "F0").

public const string SliderDefaultValueFormat = "F0"

Field Value

string

SliderFilledTrackChar

Character used for the filled portion of a horizontal slider track (U+2501: ━).

public const char SliderFilledTrackChar = '━'

Field Value

char

SliderHorizontalLeftCap

Left end-cap character for horizontal slider tracks (U+2502: │).

public const char SliderHorizontalLeftCap = '│'

Field Value

char

SliderHorizontalRightCap

Right end-cap character for horizontal slider tracks (U+2502: │).

public const char SliderHorizontalRightCap = '│'

Field Value

char

SliderLabelSpacing

Spacing in characters between the track and value/min/max labels (default: 1).

public const int SliderLabelSpacing = 1

Field Value

int

SliderMinStep

Minimum allowed step value to prevent zero-step sliders (default: 0.001).

public const double SliderMinStep = 0.001

Field Value

double

SliderMinTrackLength

Minimum track length in characters for slider controls (default: 3).

public const int SliderMinTrackLength = 3

Field Value

int

SliderThumbChar

Character used for the slider thumb indicator (U+25CF: ●).

public const char SliderThumbChar = '●'

Field Value

char

SliderThumbHitRadius

Hit radius in characters around a thumb for mouse click detection (default: 1).

public const int SliderThumbHitRadius = 1

Field Value

int

SliderUnfilledTrackChar

Character used for the unfilled portion of a horizontal slider track (U+2500: ─).

public const char SliderUnfilledTrackChar = '─'

Field Value

char

SliderVerticalBottomCap

Bottom end-cap character for vertical slider tracks (U+2500: ─).

public const char SliderVerticalBottomCap = '─'

Field Value

char

SliderVerticalFilledTrackChar

Character used for filled portion of a vertical slider track (U+2503: ┃).

public const char SliderVerticalFilledTrackChar = '┃'

Field Value

char

SliderVerticalTopCap

Top end-cap character for vertical slider tracks (U+2500: ─).

public const char SliderVerticalTopCap = '─'

Field Value

char

SliderVerticalTrackChar

Character used for unfilled portion of a vertical slider track (U+2502: │).

public const char SliderVerticalTrackChar = '│'

Field Value

char

StartMenuActiveWindowIndicator

Active window indicator in the Start menu window list. U+25C6: Black Diamond — rendered via MarkupParser for correct width handling.

public const string StartMenuActiveWindowIndicator = "◆"

Field Value

string

StartMenuExitIcon

Icon prefix for the exit action in the Start menu. U+23FB: Power Symbol — rendered via MarkupParser for correct width handling.

public const string StartMenuExitIcon = "⏻"

Field Value

string

StartMenuMaxLeftColumnWidth

Maximum width of the left column in the Start menu two-column layout (default: 35).

public const int StartMenuMaxLeftColumnWidth = 35

Field Value

int

StartMenuMaxRightColumnWidth

Maximum width of the right column in the Start menu two-column layout (default: 40).

public const int StartMenuMaxRightColumnWidth = 40

Field Value

int

StartMenuMaxVisibleWindows

Maximum number of windows visible in the Start menu window list (default: 15).

public const int StartMenuMaxVisibleWindows = 15

Field Value

int

StartMenuMinLeftColumnWidth

Minimum width of the left column in the Start menu two-column layout (default: 22).

public const int StartMenuMinLeftColumnWidth = 22

Field Value

int

StartMenuMinRightColumnWidth

Minimum width of the right column in the Start menu two-column layout (default: 20).

public const int StartMenuMinRightColumnWidth = 24

Field Value

int

StartMenuMinimizedWindowIndicator

Minimized window indicator in the Start menu window list. U+25C7: White Diamond — rendered via MarkupParser for correct width handling.

public const string StartMenuMinimizedWindowIndicator = "◇"

Field Value

string

StatusBarDefaultHeight

Default height for the status bar in rows (default: 1).

public const int StatusBarDefaultHeight = 1

Field Value

int

StatusBarItemSpacing

Default spacing between status bar items in characters (default: 2).

public const int StatusBarItemSpacing = 2

Field Value

int

StatusBarSeparatorChar

Default separator character between status bar sections (default: "|").

public const string StatusBarSeparatorChar = "|"

Field Value

string

StatusBarShortcutLabelSeparator

Default separator between shortcut and label text (default: ":").

public const string StatusBarShortcutLabelSeparator = ":"

Field Value

string

TimeAmPmSegmentWidth

Display width of the AM/PM segment in characters.

public const int TimeAmPmSegmentWidth = 2

Field Value

int

TimeLargeIncrementStep

Step size for large increment/decrement operations (Page Up/Down).

public const int TimeLargeIncrementStep = 10

Field Value

int

TimePickerDefaultPrompt

Default prompt text for TimePicker controls.

public const string TimePickerDefaultPrompt = "Time:"

Field Value

string

TimeSegmentWidth

Display width of a time segment (hour, minute, second) in characters.

public const int TimeSegmentWidth = 2

Field Value

int

ToolbarLineCharacter

Character used for toolbar separator lines (horizontal box drawing: ─).

public const char ToolbarLineCharacter = '─'

Field Value

char

WhitespaceSpaceChar

Character displayed for space characters when visible whitespace is enabled (middle dot U+00B7)

public const char WhitespaceSpaceChar = '·'

Field Value

char