Table of Contents

Interface ITheme

Namespace
SharpConsoleUI.Themes
Assembly
SharpConsoleUI.dll

Defines the interface for SharpConsoleUI themes that control the visual appearance of all UI elements. Implement this interface to create custom themes for the console window system.

public interface ITheme
Extension Methods

Properties

ActiveBorderForegroundColor

Gets the foreground color for the border of active (focused) windows.

Color ActiveBorderForegroundColor { get; }

Property Value

Color

ActiveTitleForegroundColor

Gets the foreground color for the title text of active (focused) windows.

Color ActiveTitleForegroundColor { get; }

Property Value

Color

BarGraphBackgroundColor

Gets the background color for bar graph controls. Null means transparent.

Color? BarGraphBackgroundColor { get; }

Property Value

Color?

BottomBarBackgroundColor

Gets the background color for the bottom status bar of the console window system.

Color BottomBarBackgroundColor { get; }

Property Value

Color

BottomBarForegroundColor

Gets the foreground color for text displayed in the bottom status bar.

Color BottomBarForegroundColor { get; }

Property Value

Color

ButtonBackgroundColor

Gets the background color for buttons in their default (unfocused, unselected) state.

Color ButtonBackgroundColor { get; }

Property Value

Color

ButtonDisabledBackgroundColor

Gets the background color for buttons when they are disabled and cannot be interacted with.

Color ButtonDisabledBackgroundColor { get; }

Property Value

Color

ButtonDisabledForegroundColor

Gets the foreground color for button text when the button is disabled.

Color ButtonDisabledForegroundColor { get; }

Property Value

Color

ButtonFocusedBackgroundColor

Gets the background color for buttons when they have keyboard focus.

Color ButtonFocusedBackgroundColor { get; }

Property Value

Color

ButtonFocusedForegroundColor

Gets the foreground color for button text when the button has keyboard focus.

Color ButtonFocusedForegroundColor { get; }

Property Value

Color

ButtonForegroundColor

Gets the foreground color for button text in the default (unfocused, unselected) state.

Color ButtonForegroundColor { get; }

Property Value

Color

ButtonSelectedBackgroundColor

Gets the background color for buttons when they are selected or pressed.

Color ButtonSelectedBackgroundColor { get; }

Property Value

Color

ButtonSelectedForegroundColor

Gets the foreground color for button text when the button is selected or pressed.

Color ButtonSelectedForegroundColor { get; }

Property Value

Color

CheckboxBackgroundColor

Gets the background color for checkboxes in their default state. Null means transparent.

Color? CheckboxBackgroundColor { get; }

Property Value

Color?

CheckboxDisabledBackgroundColor

Gets the background color for checkboxes when they are disabled. Null means transparent.

Color? CheckboxDisabledBackgroundColor { get; }

Property Value

Color?

CheckboxFocusedBackgroundColor

Gets the background color for checkboxes when they have keyboard focus. Null means transparent.

Color? CheckboxFocusedBackgroundColor { get; }

Property Value

Color?

DatePickerBackgroundColor

Gets the background color for the date picker control.

Color? DatePickerBackgroundColor { get; }

Property Value

Color?

DatePickerCalendarHeaderColor

Gets the color for the calendar popup header text.

Color? DatePickerCalendarHeaderColor { get; }

Property Value

Color?

DatePickerCalendarSelectedColor

Gets the highlight color for the selected date in the calendar popup.

Color? DatePickerCalendarSelectedColor { get; }

Property Value

Color?

DatePickerCalendarTodayColor

Gets the highlight color for today's date in the calendar popup.

Color? DatePickerCalendarTodayColor { get; }

Property Value

Color?

DatePickerDisabledForegroundColor

Gets the foreground color for disabled date segments.

Color? DatePickerDisabledForegroundColor { get; }

Property Value

Color?

DatePickerFocusedBackgroundColor

Gets the background color for the date picker when focused.

Color? DatePickerFocusedBackgroundColor { get; }

Property Value

Color?

DatePickerFocusedForegroundColor

Gets the foreground color for the date picker when focused.

Color? DatePickerFocusedForegroundColor { get; }

Property Value

Color?

DatePickerForegroundColor

Gets the foreground (text) color for the date picker control.

Color? DatePickerForegroundColor { get; }

Property Value

Color?

DatePickerSegmentBackgroundColor

Gets the background color for the active date segment.

Color? DatePickerSegmentBackgroundColor { get; }

Property Value

Color?

DatePickerSegmentForegroundColor

Gets the foreground color for the active date segment.

Color? DatePickerSegmentForegroundColor { get; }

Property Value

Color?

Description

Gets the human-readable description of the theme explaining its visual style.

string Description { get; }

Property Value

string

DesktopBackgroundChar

Gets the character used to fill the desktop background area.

char DesktopBackgroundChar { get; }

Property Value

char

DesktopBackgroundColor

Gets the background color for the desktop area behind all windows.

Color DesktopBackgroundColor { get; }

Property Value

Color

DesktopForegroundColor

Gets the foreground color for the desktop background character pattern.

Color DesktopForegroundColor { get; }

Property Value

Color

DropdownBackgroundColor

Gets the background color for dropdown control lists.

Color DropdownBackgroundColor { get; }

Property Value

Color

DropdownForegroundColor

Gets the foreground color for dropdown control list items.

Color DropdownForegroundColor { get; }

Property Value

Color

DropdownHighlightBackgroundColor

Gets the background color for highlighted/selected dropdown items.

Color DropdownHighlightBackgroundColor { get; }

Property Value

Color

DropdownHighlightForegroundColor

Gets the foreground color for highlighted/selected dropdown items.

Color DropdownHighlightForegroundColor { get; }

Property Value

Color

InactiveBorderForegroundColor

Gets the foreground color for the border of inactive (unfocused) windows.

Color InactiveBorderForegroundColor { get; }

Property Value

Color

InactiveTitleForegroundColor

Gets the foreground color for the title text of inactive (unfocused) windows.

Color InactiveTitleForegroundColor { get; }

Property Value

Color

LineGraphBackgroundColor

Gets the background color for line graph controls. Null means transparent.

Color? LineGraphBackgroundColor { get; }

Property Value

Color?

ListBackgroundColor

Gets the background color for list controls. Null means transparent.

Color? ListBackgroundColor { get; }

Property Value

Color?

ListHoverBackgroundColor

Gets the background color for list items when hovered by the mouse. If null, falls back to highlight color.

Color? ListHoverBackgroundColor { get; }

Property Value

Color?

ListHoverForegroundColor

Gets the foreground color for list items when hovered by the mouse. If null, falls back to highlight color.

Color? ListHoverForegroundColor { get; }

Property Value

Color?

ListUnfocusedHighlightBackgroundColor

Gets the background color for list items when highlighted but the control is unfocused.

Color ListUnfocusedHighlightBackgroundColor { get; }

Property Value

Color

ListUnfocusedHighlightForegroundColor

Gets the foreground color for list items when highlighted but the control is unfocused.

Color ListUnfocusedHighlightForegroundColor { get; }

Property Value

Color

MenuBarBackgroundColor

Gets the background color for the menu bar (top-level items). Null means inherit from container.

Color? MenuBarBackgroundColor { get; }

Property Value

Color?

MenuBarForegroundColor

Gets the foreground color for the menu bar (top-level items). Null means inherit from container.

Color? MenuBarForegroundColor { get; }

Property Value

Color?

MenuBarHighlightBackgroundColor

Gets the background color for highlighted menu bar items.

Color MenuBarHighlightBackgroundColor { get; }

Property Value

Color

MenuBarHighlightForegroundColor

Gets the foreground color for highlighted menu bar items.

Color MenuBarHighlightForegroundColor { get; }

Property Value

Color

MenuDropdownBackgroundColor

Gets the background color for menu dropdowns.

Color MenuDropdownBackgroundColor { get; }

Property Value

Color

MenuDropdownForegroundColor

Gets the foreground color for menu dropdown items.

Color MenuDropdownForegroundColor { get; }

Property Value

Color

MenuDropdownHighlightBackgroundColor

Gets the background color for highlighted menu dropdown items.

Color MenuDropdownHighlightBackgroundColor { get; }

Property Value

Color

MenuDropdownHighlightForegroundColor

Gets the foreground color for highlighted menu dropdown items.

Color MenuDropdownHighlightForegroundColor { get; }

Property Value

Color

ModalBackgroundColor

Gets the background color for modal dialog windows.

Color ModalBackgroundColor { get; }

Property Value

Color

ModalBorderForegroundColor

Gets the foreground color for the border of modal dialog windows.

Color ModalBorderForegroundColor { get; }

Property Value

Color

ModalFlashColor

Gets the background color used when flashing modal windows to draw user attention.

Color ModalFlashColor { get; }

Property Value

Color

ModalTitleForegroundColor

Gets the foreground color for the title text of modal dialog windows.

Color ModalTitleForegroundColor { get; }

Property Value

Color

Name

Gets the unique name of the theme used for identification and selection.

string Name { get; }

Property Value

string

NotificationDangerWindowBackgroundColor

Gets the background color for danger/error notification windows.

Color NotificationDangerWindowBackgroundColor { get; }

Property Value

Color

NotificationInfoWindowBackgroundColor

Gets the background color for informational notification windows.

Color NotificationInfoWindowBackgroundColor { get; }

Property Value

Color

NotificationSuccessWindowBackgroundColor

Gets the background color for success notification windows.

Color NotificationSuccessWindowBackgroundColor { get; }

Property Value

Color

NotificationWarningWindowBackgroundColor

Gets the background color for warning notification windows.

Color NotificationWarningWindowBackgroundColor { get; }

Property Value

Color

NotificationWindowBackgroundColor

Gets the background color for generic notification windows without a specific type.

Color NotificationWindowBackgroundColor { get; }

Property Value

Color

ProgressBarFilledColor

Gets the color for the filled portion of progress bars.

Color ProgressBarFilledColor { get; }

Property Value

Color

ProgressBarPercentageColor

Gets the color for the percentage text display on progress bars.

Color ProgressBarPercentageColor { get; }

Property Value

Color

ProgressBarUnfilledColor

Gets the color for the unfilled portion of progress bars.

Color ProgressBarUnfilledColor { get; }

Property Value

Color

PromptInputBackgroundColor

Gets the background color for prompt input fields in their default state.

Color PromptInputBackgroundColor { get; }

Property Value

Color

PromptInputFocusedBackgroundColor

Gets the background color for prompt input fields when they have keyboard focus.

Color PromptInputFocusedBackgroundColor { get; }

Property Value

Color

PromptInputFocusedForegroundColor

Gets the foreground color for text in prompt input fields when focused.

Color PromptInputFocusedForegroundColor { get; }

Property Value

Color

PromptInputForegroundColor

Gets the foreground color for text in prompt input fields in their default state.

Color PromptInputForegroundColor { get; }

Property Value

Color

SeparatorForegroundColor

Gets the foreground color for separator controls. Null means transparent (inherit from container).

Color? SeparatorForegroundColor { get; }

Property Value

Color?

ShowModalShadow

Gets a value indicating whether modal windows should display a drop shadow effect.

bool ShowModalShadow { get; }

Property Value

bool

SliderFilledTrackColor

Gets the color for the filled track portion of slider controls. Null means use default (Cyan1).

Color? SliderFilledTrackColor { get; }

Property Value

Color?

SliderFocusedThumbColor

Gets the color for the slider thumb indicator when focused. Null means use default (Yellow).

Color? SliderFocusedThumbColor { get; }

Property Value

Color?

SliderThumbColor

Gets the color for the slider thumb indicator. Null means use default (White classic, Grey93 modern).

Color? SliderThumbColor { get; }

Property Value

Color?

SliderTrackColor

Gets the color for the unfilled track portion of slider controls. Null means use default (Grey35 classic, Grey23 modern).

Color? SliderTrackColor { get; }

Property Value

Color?

SparklineBackgroundColor

Gets the background color for sparkline controls. Null means transparent.

Color? SparklineBackgroundColor { get; }

Property Value

Color?

StartMenuHeaderBackgroundColor

Gets the background color for the Start menu header area. Null means derive from dropdown colors.

Color? StartMenuHeaderBackgroundColor { get; }

Property Value

Color?

StartMenuHeaderForegroundColor

Gets the foreground color for the Start menu header area. Null means derive from dropdown colors.

Color? StartMenuHeaderForegroundColor { get; }

Property Value

Color?

StartMenuInfoStripForegroundColor

Gets the foreground color for the Start menu info strip. Null means derive from dropdown colors.

Color? StartMenuInfoStripForegroundColor { get; }

Property Value

Color?

StartMenuSectionHeaderBackgroundColor

Gets the background color for Start menu section headers. Null means derive from dropdown colors.

Color? StartMenuSectionHeaderBackgroundColor { get; }

Property Value

Color?

StatusBarBackgroundColor

Gets the background color for status bar controls. Null means inherit from container.

Color? StatusBarBackgroundColor { get; }

Property Value

Color?

StatusBarForegroundColor

Gets the foreground color for status bar controls. Null means inherit from container.

Color? StatusBarForegroundColor { get; }

Property Value

Color?

StatusBarShortcutForegroundColor

Gets the foreground color for shortcut key hints in status bar controls. Null means use Cyan1.

Color? StatusBarShortcutForegroundColor { get; }

Property Value

Color?

TabContentBackgroundColor

Gets the background color for the TabControl content area. Null means inherit from container.

Color? TabContentBackgroundColor { get; }

Property Value

Color?

TabContentBorderColor

Gets the border color for the TabControl content area. Null means use active window border color.

Color? TabContentBorderColor { get; }

Property Value

Color?

TabHeaderActiveBackgroundColor

Gets the background color for the active (selected) tab header.

Color TabHeaderActiveBackgroundColor { get; }

Property Value

Color

TabHeaderActiveForegroundColor

Gets the foreground color for the active (selected) tab header.

Color TabHeaderActiveForegroundColor { get; }

Property Value

Color

TabHeaderBackgroundColor

Gets the background color for inactive tab headers.

Color TabHeaderBackgroundColor { get; }

Property Value

Color

TabHeaderDisabledBackgroundColor

Gets the background color for disabled tab headers.

Color TabHeaderDisabledBackgroundColor { get; }

Property Value

Color

TabHeaderDisabledForegroundColor

Gets the foreground color for disabled tab headers.

Color TabHeaderDisabledForegroundColor { get; }

Property Value

Color

TabHeaderForegroundColor

Gets the foreground color for inactive tab headers.

Color TabHeaderForegroundColor { get; }

Property Value

Color

TableBackgroundColor

Gets the background color for table controls.

Color TableBackgroundColor { get; }

Property Value

Color

TableBorderColor

Gets the border color for table controls. Null means falls back to active window border color.

Color? TableBorderColor { get; }

Property Value

Color?

TableForegroundColor

Gets the foreground color for table controls.

Color TableForegroundColor { get; }

Property Value

Color

TableHeaderBackgroundColor

Gets the background color for table headers.

Color TableHeaderBackgroundColor { get; }

Property Value

Color

TableHeaderForegroundColor

Gets the foreground color for table headers.

Color TableHeaderForegroundColor { get; }

Property Value

Color

TableHoverBackgroundColor

Gets the background color for hovered rows in the table.

Color TableHoverBackgroundColor { get; }

Property Value

Color

TableHoverForegroundColor

Gets the foreground color for hovered rows in the table.

Color TableHoverForegroundColor { get; }

Property Value

Color

TableScrollbarThumbColor

Gets the color for the table scrollbar thumb.

Color TableScrollbarThumbColor { get; }

Property Value

Color

TableScrollbarTrackColor

Gets the color for the table scrollbar track.

Color TableScrollbarTrackColor { get; }

Property Value

Color

TableSelectionBackgroundColor

Gets the background color for selected rows in the table when focused.

Color TableSelectionBackgroundColor { get; }

Property Value

Color

TableSelectionForegroundColor

Gets the foreground color for selected rows in the table when focused.

Color TableSelectionForegroundColor { get; }

Property Value

Color

TableUnfocusedSelectionBackgroundColor

Gets the background color for selected rows in the table when unfocused.

Color TableUnfocusedSelectionBackgroundColor { get; }

Property Value

Color

TableUnfocusedSelectionForegroundColor

Gets the foreground color for selected rows in the table when unfocused.

Color TableUnfocusedSelectionForegroundColor { get; }

Property Value

Color

TextEditFocusedNotEditing

Gets the background color for text edit controls when focused but not in editing mode.

Color TextEditFocusedNotEditing { get; }

Property Value

Color

TimePickerBackgroundColor

Gets the background color for the time picker control.

Color? TimePickerBackgroundColor { get; }

Property Value

Color?

TimePickerDisabledForegroundColor

Gets the foreground color for disabled time segments.

Color? TimePickerDisabledForegroundColor { get; }

Property Value

Color?

TimePickerFocusedBackgroundColor

Gets the background color for the time picker when focused.

Color? TimePickerFocusedBackgroundColor { get; }

Property Value

Color?

TimePickerFocusedForegroundColor

Gets the foreground color for the time picker when focused.

Color? TimePickerFocusedForegroundColor { get; }

Property Value

Color?

TimePickerForegroundColor

Gets the foreground (text) color for the time picker control.

Color? TimePickerForegroundColor { get; }

Property Value

Color?

TimePickerSegmentBackgroundColor

Gets the background color for the active time segment.

Color? TimePickerSegmentBackgroundColor { get; }

Property Value

Color?

TimePickerSegmentForegroundColor

Gets the foreground color for the active time segment.

Color? TimePickerSegmentForegroundColor { get; }

Property Value

Color?

ToolbarBackgroundColor

Gets the background color for toolbar controls. Null means transparent (inherit from container).

Color? ToolbarBackgroundColor { get; }

Property Value

Color?

ToolbarForegroundColor

Gets the foreground color for toolbar controls. Null means transparent (inherit from container).

Color? ToolbarForegroundColor { get; }

Property Value

Color?

TopBarBackgroundColor

Gets the background color for the top application bar of the console window system.

Color TopBarBackgroundColor { get; }

Property Value

Color

TopBarForegroundColor

Gets the foreground color for text displayed in the top application bar.

Color TopBarForegroundColor { get; }

Property Value

Color

TreeBackgroundColor

Gets the background color for tree controls. Null means transparent.

Color? TreeBackgroundColor { get; }

Property Value

Color?

TreeSelectionBackgroundColor

Gets the background color for selected tree nodes when focused. Null means transparent.

Color? TreeSelectionBackgroundColor { get; }

Property Value

Color?

TreeUnfocusedSelectionBackgroundColor

Gets the background color for selected tree nodes when unfocused. Null means transparent.

Color? TreeUnfocusedSelectionBackgroundColor { get; }

Property Value

Color?

UseDoubleLineBorderForModal

Gets a value indicating whether modal windows should use double-line border characters.

bool UseDoubleLineBorderForModal { get; }

Property Value

bool

WindowBackgroundColor

Gets the default background color for standard window content areas.

Color WindowBackgroundColor { get; }

Property Value

Color

WindowForegroundColor

Gets the default foreground color for text in standard window content areas.

Color WindowForegroundColor { get; }

Property Value

Color