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
ActiveTitleForegroundColor
Gets the foreground color for the title text of active (focused) windows.
Color? ActiveTitleForegroundColor { get; }
Property Value
BarGraphBackgroundColor
Gets the background color for bar graph controls. Null means transparent.
Color? BarGraphBackgroundColor { get; }
Property Value
BottomBarBackgroundColor
Gets the background color for the bottom status bar of the console window system.
Color? BottomBarBackgroundColor { get; }
Property Value
BottomBarForegroundColor
Gets the foreground color for text displayed in the bottom status bar.
Color? BottomBarForegroundColor { get; }
Property Value
ButtonBackgroundColor
Gets the background color for buttons in their default (unfocused, unselected) state.
Color? ButtonBackgroundColor { get; }
Property Value
ButtonDisabledBackgroundColor
Gets the background color for buttons when they are disabled and cannot be interacted with.
Color? ButtonDisabledBackgroundColor { get; }
Property Value
ButtonDisabledForegroundColor
Gets the foreground color for button text when the button is disabled.
Color? ButtonDisabledForegroundColor { get; }
Property Value
ButtonFocusedBackgroundColor
Gets the background color for buttons when they have keyboard focus.
Color? ButtonFocusedBackgroundColor { get; }
Property Value
ButtonFocusedForegroundColor
Gets the foreground color for button text when the button has keyboard focus.
Color? ButtonFocusedForegroundColor { get; }
Property Value
ButtonForegroundColor
Gets the foreground color for button text in the default (unfocused, unselected) state.
Color? ButtonForegroundColor { get; }
Property Value
ButtonSelectedBackgroundColor
Gets the background color for buttons when they are selected or pressed.
Color? ButtonSelectedBackgroundColor { get; }
Property Value
ButtonSelectedForegroundColor
Gets the foreground color for button text when the button is selected or pressed.
Color? ButtonSelectedForegroundColor { get; }
Property Value
CheckboxBackgroundColor
Gets the background color for checkboxes in their default state. Null means transparent.
Color? CheckboxBackgroundColor { get; }
Property Value
CheckboxCheckmarkColor
Gets the color used for the checkbox checkmark glyph.
Color? CheckboxCheckmarkColor { get; }
Property Value
CheckboxDisabledBackgroundColor
Gets the background color for checkboxes when they are disabled. Null means transparent.
Color? CheckboxDisabledBackgroundColor { get; }
Property Value
CheckboxDisabledForegroundColor
Gets the foreground color for checkbox text/glyph when the checkbox is disabled.
Color? CheckboxDisabledForegroundColor { get; }
Property Value
CheckboxFocusedBackgroundColor
Gets the background color for checkboxes when they have keyboard focus. Null means transparent.
Color? CheckboxFocusedBackgroundColor { get; }
Property Value
CheckboxFocusedForegroundColor
Gets the foreground color for checkbox text/glyph when the checkbox has keyboard focus.
Color? CheckboxFocusedForegroundColor { get; }
Property Value
CheckboxForegroundColor
Gets the foreground color for checkbox text/glyph in the default (unfocused) state.
Color? CheckboxForegroundColor { get; }
Property Value
CollapsibleHeaderFocusedBackgroundColor
Background color for a CollapsiblePanel header when the panel has keyboard focus. Default implementation returns WindowBackgroundColor (the normal window background) so existing themes keep working without code changes.
Color? CollapsibleHeaderFocusedBackgroundColor { get; }
Property Value
CollapsibleHeaderFocusedForegroundColor
Foreground color for a CollapsiblePanel header when the panel has keyboard focus. Default implementation returns ActiveTitleForegroundColor (the active-title accent) so existing themes keep working without code changes.
Color? CollapsibleHeaderFocusedForegroundColor { get; }
Property Value
DangerColor
Danger/error status seed. Null = a mode-tuned red.
Color? DangerColor { get; }
Property Value
DatePickerBackgroundColor
Gets the background color for the date picker control.
Color? DatePickerBackgroundColor { get; }
Property Value
DatePickerCalendarHeaderColor
Gets the color for the calendar popup header text.
Color? DatePickerCalendarHeaderColor { get; }
Property Value
DatePickerCalendarSelectedColor
Gets the highlight color for the selected date in the calendar popup.
Color? DatePickerCalendarSelectedColor { get; }
Property Value
DatePickerCalendarTodayColor
Gets the highlight color for today's date in the calendar popup.
Color? DatePickerCalendarTodayColor { get; }
Property Value
DatePickerDisabledBackgroundColor
Gets the background color for a disabled date picker (null = inherit/transparent).
Color? DatePickerDisabledBackgroundColor { get; }
Property Value
DatePickerDisabledForegroundColor
Gets the foreground color for disabled date segments.
Color? DatePickerDisabledForegroundColor { get; }
Property Value
DatePickerFocusedBackgroundColor
Gets the background color for the date picker when focused.
Color? DatePickerFocusedBackgroundColor { get; }
Property Value
DatePickerFocusedForegroundColor
Gets the foreground color for the date picker when focused.
Color? DatePickerFocusedForegroundColor { get; }
Property Value
DatePickerForegroundColor
Gets the foreground (text) color for the date picker control.
Color? DatePickerForegroundColor { get; }
Property Value
DatePickerSegmentBackgroundColor
Gets the background color for the active date segment.
Color? DatePickerSegmentBackgroundColor { get; }
Property Value
DatePickerSegmentForegroundColor
Gets the foreground color for the active date segment.
Color? DatePickerSegmentForegroundColor { get; }
Property Value
Description
Gets the human-readable description of the theme explaining its visual style.
string Description { get; }
Property Value
DesktopBackgroundChar
Gets the character used to fill the desktop background area.
char DesktopBackgroundChar { get; }
Property Value
DesktopBackgroundColor
Gets the background color for the desktop area behind all windows.
Color? DesktopBackgroundColor { get; }
Property Value
DesktopBackgroundGradient
Gets the optional gradient background for the desktop area. When set, the desktop renders with this gradient instead of a solid color. Returns null by default (solid color from DesktopBackgroundColor).
GradientBackground? DesktopBackgroundGradient { get; }
Property Value
DesktopForegroundColor
Gets the foreground color for the desktop background character pattern.
Color? DesktopForegroundColor { get; }
Property Value
DropdownBackgroundColor
Gets the background color for dropdown control lists.
Color? DropdownBackgroundColor { get; }
Property Value
DropdownDisabledBackgroundColor
Gets the background color for a dropdown when it is disabled (null = inherit/transparent).
Color? DropdownDisabledBackgroundColor { get; }
Property Value
DropdownDisabledForegroundColor
Gets the foreground color for a dropdown when it is disabled.
Color? DropdownDisabledForegroundColor { get; }
Property Value
DropdownFocusedBackgroundColor
Gets the background color for a dropdown when it has keyboard focus (null = inherit/transparent).
Color? DropdownFocusedBackgroundColor { get; }
Property Value
DropdownFocusedForegroundColor
Gets the foreground color for a dropdown when it has keyboard focus.
Color? DropdownFocusedForegroundColor { get; }
Property Value
DropdownForegroundColor
Gets the foreground color for dropdown control list items.
Color? DropdownForegroundColor { get; }
Property Value
DropdownHighlightBackgroundColor
Gets the background color for highlighted/selected dropdown items.
Color? DropdownHighlightBackgroundColor { get; }
Property Value
DropdownHighlightForegroundColor
Gets the foreground color for highlighted/selected dropdown items.
Color? DropdownHighlightForegroundColor { get; }
Property Value
HtmlForegroundColor
Gets the default foreground color for HTML control text.
Color? HtmlForegroundColor { get; }
Property Value
InactiveBorderForegroundColor
Gets the foreground color for the border of inactive (unfocused) windows.
Color? InactiveBorderForegroundColor { get; }
Property Value
InactiveTitleForegroundColor
Gets the foreground color for the title text of inactive (unfocused) windows.
Color? InactiveTitleForegroundColor { get; }
Property Value
InfoColor
Info status seed. Null = a mode-tuned cyan/blue.
Color? InfoColor { get; }
Property Value
LineGraphBackgroundColor
Gets the background color for line graph controls. Null means transparent.
Color? LineGraphBackgroundColor { get; }
Property Value
ListBackgroundColor
Gets the background color for list controls. Null means transparent.
Color? ListBackgroundColor { get; }
Property Value
ListDisabledBackgroundColor
Gets the background color for list items when the control is disabled (null = inherit/transparent).
Color? ListDisabledBackgroundColor { get; }
Property Value
ListDisabledForegroundColor
Gets the foreground color for list items when the control is disabled.
Color? ListDisabledForegroundColor { get; }
Property Value
ListFocusedForegroundColor
Gets the foreground color for list items when the control has keyboard focus.
Color? ListFocusedForegroundColor { get; }
Property Value
ListForegroundColor
Gets the foreground color for list items in their default (unfocused, unselected) state.
Color? ListForegroundColor { get; }
Property Value
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
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
ListSelectedBackgroundColor
Gets the background color for the selected list item (null = inherit/transparent).
Color? ListSelectedBackgroundColor { get; }
Property Value
ListSelectedForegroundColor
Gets the foreground color for the selected list item.
Color? ListSelectedForegroundColor { get; }
Property Value
ListUnfocusedHighlightBackgroundColor
Gets the background color for list items when highlighted but the control is unfocused.
Color? ListUnfocusedHighlightBackgroundColor { get; }
Property Value
ListUnfocusedHighlightForegroundColor
Gets the foreground color for list items when highlighted but the control is unfocused.
Color? ListUnfocusedHighlightForegroundColor { get; }
Property Value
MenuBarBackgroundColor
Gets the background color for the menu bar (top-level items). Null means inherit from container.
Color? MenuBarBackgroundColor { get; }
Property Value
MenuBarForegroundColor
Gets the foreground color for the menu bar (top-level items). Null means inherit from container.
Color? MenuBarForegroundColor { get; }
Property Value
MenuBarHighlightBackgroundColor
Gets the background color for highlighted menu bar items.
Color? MenuBarHighlightBackgroundColor { get; }
Property Value
MenuBarHighlightForegroundColor
Gets the foreground color for highlighted menu bar items.
Color? MenuBarHighlightForegroundColor { get; }
Property Value
MenuDropdownBackgroundColor
Gets the background color for menu dropdowns.
Color? MenuDropdownBackgroundColor { get; }
Property Value
MenuDropdownForegroundColor
Gets the foreground color for menu dropdown items.
Color? MenuDropdownForegroundColor { get; }
Property Value
MenuDropdownHighlightBackgroundColor
Gets the background color for highlighted menu dropdown items.
Color? MenuDropdownHighlightBackgroundColor { get; }
Property Value
MenuDropdownHighlightForegroundColor
Gets the foreground color for highlighted menu dropdown items.
Color? MenuDropdownHighlightForegroundColor { get; }
Property Value
ModalBackgroundColor
Gets the background color for modal dialog windows.
Color? ModalBackgroundColor { get; }
Property Value
ModalBorderForegroundColor
Gets the foreground color for the border of modal dialog windows.
Color? ModalBorderForegroundColor { get; }
Property Value
ModalFlashColor
Gets the background color used when flashing modal windows to draw user attention.
Color? ModalFlashColor { get; }
Property Value
ModalTitleForegroundColor
Gets the foreground color for the title text of modal dialog windows.
Color? ModalTitleForegroundColor { get; }
Property Value
Mode
Gets the theme's declared light/dark mode. This is a label of the theme's identity (set by its author), not a computed value. Defaults to Dark (the library's built-in default themes are dark). Third-party themes that do not override this report Dark.
ThemeMode Mode { get; }
Property Value
Name
Gets the unique name of the theme used for identification and selection.
string Name { get; }
Property Value
NotificationDangerWindowBackgroundColor
Gets the background color for danger/error notification windows.
Color? NotificationDangerWindowBackgroundColor { get; }
Property Value
NotificationInfoWindowBackgroundColor
Gets the background color for informational notification windows.
Color? NotificationInfoWindowBackgroundColor { get; }
Property Value
NotificationSuccessWindowBackgroundColor
Gets the background color for success notification windows.
Color? NotificationSuccessWindowBackgroundColor { get; }
Property Value
NotificationWarningWindowBackgroundColor
Gets the background color for warning notification windows.
Color? NotificationWarningWindowBackgroundColor { get; }
Property Value
NotificationWindowBackgroundColor
Gets the background color for generic notification windows without a specific type.
Color? NotificationWindowBackgroundColor { get; }
Property Value
PrimaryColor
Primary accent seed (borders, primary buttons). Null = derived. Drives the Primary role.
Color? PrimaryColor { get; }
Property Value
ProgressBarFilledColor
Gets the color for the filled portion of progress bars.
Color? ProgressBarFilledColor { get; }
Property Value
ProgressBarPercentageColor
Gets the color for the percentage text display on progress bars.
Color? ProgressBarPercentageColor { get; }
Property Value
ProgressBarUnfilledColor
Gets the color for the unfilled portion of progress bars.
Color? ProgressBarUnfilledColor { get; }
Property Value
PromptInputBackgroundColor
Gets the background color for prompt input fields in their default state.
Color? PromptInputBackgroundColor { get; }
Property Value
PromptInputFocusedBackgroundColor
Gets the background color for prompt input fields when they have keyboard focus.
Color? PromptInputFocusedBackgroundColor { get; }
Property Value
PromptInputFocusedForegroundColor
Gets the foreground color for text in prompt input fields when focused.
Color? PromptInputFocusedForegroundColor { get; }
Property Value
PromptInputForegroundColor
Gets the foreground color for text in prompt input fields in their default state.
Color? PromptInputForegroundColor { get; }
Property Value
ScrollbarThumbColor
General scrollbar thumb color when the scrollable control is focused. Default follows the active border so the scrollbar matches the control's border. Controls fall back to this unless they expose a per-control theme color or an instance override.
Color? ScrollbarThumbColor { get; }
Property Value
ScrollbarThumbUnfocusedColor
General scrollbar thumb color when the control is NOT focused. Defaults to the inactive border.
Color? ScrollbarThumbUnfocusedColor { get; }
Property Value
ScrollbarTrackColor
General scrollbar track color when focused. Defaults to null (unset): concrete themes such as
ModernGray pin a value, and consumers fall back to a surface-appropriate color when this is unset.
Color? ScrollbarTrackColor { get; }
Property Value
ScrollbarTrackUnfocusedColor
General scrollbar track color when not focused. Defaults to null (unset): concrete themes such as
ModernGray pin a value, and consumers fall back to a surface-appropriate color when this is unset.
Color? ScrollbarTrackUnfocusedColor { get; }
Property Value
SecondaryColor
Secondary accent seed. Null = derived from Primary.
Color? SecondaryColor { get; }
Property Value
SeparatorForegroundColor
Gets the foreground color for separator controls. Null means transparent (inherit from container).
Color? SeparatorForegroundColor { get; }
Property Value
ShowModalShadow
Gets a value indicating whether modal windows should display a drop shadow effect.
bool ShowModalShadow { get; }
Property Value
SliderFilledTrackColor
Gets the color for the filled track portion of slider controls. Null means use default (Cyan1).
Color? SliderFilledTrackColor { get; }
Property Value
SliderFocusedThumbColor
Gets the color for the slider thumb indicator when focused. Null means use default (Yellow).
Color? SliderFocusedThumbColor { get; }
Property Value
SliderThumbColor
Gets the color for the slider thumb indicator. Null means use default (White classic, Grey93 modern).
Color? SliderThumbColor { get; }
Property Value
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
SparklineBackgroundColor
Gets the background color for sparkline controls. Null means transparent.
Color? SparklineBackgroundColor { get; }
Property Value
StartMenuHeaderBackgroundColor
Gets the background color for the Start menu header area. Null means derive from dropdown colors.
Color? StartMenuHeaderBackgroundColor { get; }
Property Value
StartMenuHeaderForegroundColor
Gets the foreground color for the Start menu header area. Null means derive from dropdown colors.
Color? StartMenuHeaderForegroundColor { get; }
Property Value
StartMenuInfoStripForegroundColor
Gets the foreground color for the Start menu info strip. Null means derive from dropdown colors.
Color? StartMenuInfoStripForegroundColor { get; }
Property Value
StartMenuSectionHeaderBackgroundColor
Gets the background color for Start menu section headers. Null means derive from dropdown colors.
Color? StartMenuSectionHeaderBackgroundColor { get; }
Property Value
StatusBarBackgroundColor
Gets the background color for status bar controls. Null means inherit from container.
Color? StatusBarBackgroundColor { get; }
Property Value
StatusBarForegroundColor
Gets the foreground color for status bar controls. Null means inherit from container.
Color? StatusBarForegroundColor { get; }
Property Value
StatusBarShortcutForegroundColor
Gets the foreground color for shortcut key hints in status bar controls. Null means use Cyan1.
Color? StatusBarShortcutForegroundColor { get; }
Property Value
SuccessColor
Success status seed. Null = a mode-tuned green.
Color? SuccessColor { get; }
Property Value
TabContentBackgroundColor
Gets the background color for the TabControl content area. Null means inherit from container.
Color? TabContentBackgroundColor { get; }
Property Value
TabContentBorderColor
Gets the border color for the TabControl content area. Null means use active window border color.
Color? TabContentBorderColor { get; }
Property Value
TabHeaderActiveBackgroundColor
Gets the background color for the active (selected) tab header.
Color? TabHeaderActiveBackgroundColor { get; }
Property Value
TabHeaderActiveFocusedBackgroundColor
Background for the active tab header when the tab strip has keyboard focus. Default implementation returns TabHeaderActiveBackgroundColor (so existing themes keep working without code changes).
Color? TabHeaderActiveFocusedBackgroundColor { get; }
Property Value
TabHeaderActiveFocusedForegroundColor
Foreground for the active tab header when the tab strip has keyboard focus. Default implementation returns TabHeaderActiveForegroundColor.
Color? TabHeaderActiveFocusedForegroundColor { get; }
Property Value
TabHeaderActiveForegroundColor
Gets the foreground color for the active (selected) tab header.
Color? TabHeaderActiveForegroundColor { get; }
Property Value
TabHeaderBackgroundColor
Gets the background color for inactive tab headers.
Color? TabHeaderBackgroundColor { get; }
Property Value
TabHeaderDisabledBackgroundColor
Gets the background color for disabled tab headers.
Color? TabHeaderDisabledBackgroundColor { get; }
Property Value
TabHeaderDisabledForegroundColor
Gets the foreground color for disabled tab headers.
Color? TabHeaderDisabledForegroundColor { get; }
Property Value
TabHeaderFocusedBackgroundColor
Background for inactive tab headers when the tab strip has keyboard focus. Default implementation returns TabHeaderBackgroundColor.
Color? TabHeaderFocusedBackgroundColor { get; }
Property Value
TabHeaderFocusedForegroundColor
Foreground for inactive tab headers when the tab strip has keyboard focus. Default implementation returns TabHeaderForegroundColor.
Color? TabHeaderFocusedForegroundColor { get; }
Property Value
TabHeaderForegroundColor
Gets the foreground color for inactive tab headers.
Color? TabHeaderForegroundColor { get; }
Property Value
TableBackgroundColor
Gets the background color for table controls.
Color? TableBackgroundColor { get; }
Property Value
TableBorderColor
Gets the border color for table controls. Null means falls back to active window border color.
Color? TableBorderColor { get; }
Property Value
TableForegroundColor
Gets the foreground color for table controls.
Color? TableForegroundColor { get; }
Property Value
TableHeaderBackgroundColor
Gets the background color for table headers.
Color? TableHeaderBackgroundColor { get; }
Property Value
TableHeaderForegroundColor
Gets the foreground color for table headers.
Color? TableHeaderForegroundColor { get; }
Property Value
TableHoverBackgroundColor
Gets the background color for hovered rows in the table.
Color? TableHoverBackgroundColor { get; }
Property Value
TableHoverForegroundColor
Gets the foreground color for hovered rows in the table.
Color? TableHoverForegroundColor { get; }
Property Value
TableScrollbarThumbColor
Gets the color for the table scrollbar thumb.
Color? TableScrollbarThumbColor { get; }
Property Value
TableScrollbarTrackColor
Gets the color for the table scrollbar track.
Color? TableScrollbarTrackColor { get; }
Property Value
TableSelectionBackgroundColor
Gets the background color for selected rows in the table when focused.
Color? TableSelectionBackgroundColor { get; }
Property Value
TableSelectionForegroundColor
Gets the foreground color for selected rows in the table when focused.
Color? TableSelectionForegroundColor { get; }
Property Value
TableUnfocusedSelectionBackgroundColor
Gets the background color for selected rows in the table when unfocused.
Color? TableUnfocusedSelectionBackgroundColor { get; }
Property Value
TableUnfocusedSelectionForegroundColor
Gets the foreground color for selected rows in the table when unfocused.
Color? TableUnfocusedSelectionForegroundColor { get; }
Property Value
TertiaryColor
Tertiary accent seed. Null = derived from Secondary.
Color? TertiaryColor { get; }
Property Value
TextEditFocusedNotEditing
Gets the background color for text edit controls when focused but not in editing mode.
Color? TextEditFocusedNotEditing { get; }
Property Value
TimePickerBackgroundColor
Gets the background color for the time picker control.
Color? TimePickerBackgroundColor { get; }
Property Value
TimePickerDisabledForegroundColor
Gets the foreground color for disabled time segments.
Color? TimePickerDisabledForegroundColor { get; }
Property Value
TimePickerFocusedBackgroundColor
Gets the background color for the time picker when focused.
Color? TimePickerFocusedBackgroundColor { get; }
Property Value
TimePickerFocusedForegroundColor
Gets the foreground color for the time picker when focused.
Color? TimePickerFocusedForegroundColor { get; }
Property Value
TimePickerForegroundColor
Gets the foreground (text) color for the time picker control.
Color? TimePickerForegroundColor { get; }
Property Value
TimePickerSegmentBackgroundColor
Gets the background color for the active time segment.
Color? TimePickerSegmentBackgroundColor { get; }
Property Value
TimePickerSegmentForegroundColor
Gets the foreground color for the active time segment.
Color? TimePickerSegmentForegroundColor { get; }
Property Value
ToolbarBackgroundColor
Gets the background color for toolbar controls. Null means transparent (inherit from container).
Color? ToolbarBackgroundColor { get; }
Property Value
ToolbarForegroundColor
Gets the foreground color for toolbar controls. Null means transparent (inherit from container).
Color? ToolbarForegroundColor { get; }
Property Value
TopBarBackgroundColor
Gets the background color for the top application bar of the console window system.
Color? TopBarBackgroundColor { get; }
Property Value
TopBarForegroundColor
Gets the foreground color for text displayed in the top application bar.
Color? TopBarForegroundColor { get; }
Property Value
TreeBackgroundColor
Gets the background color for tree controls. Null means transparent.
Color? TreeBackgroundColor { get; }
Property Value
TreeSelectionBackgroundColor
Gets the background color for selected tree nodes when focused. Null means transparent.
Color? TreeSelectionBackgroundColor { get; }
Property Value
TreeUnfocusedSelectionBackgroundColor
Gets the background color for selected tree nodes when unfocused. Null means transparent.
Color? TreeUnfocusedSelectionBackgroundColor { get; }
Property Value
UseDoubleLineBorderForModal
Gets a value indicating whether modal windows should use double-line border characters.
bool UseDoubleLineBorderForModal { get; }
Property Value
WarningColor
Warning status seed. Null = a mode-tuned amber.
Color? WarningColor { get; }
Property Value
WindowBackgroundColor
Gets the default background color for standard window content areas.
Color WindowBackgroundColor { get; }
Property Value
WindowForegroundColor
Gets the default foreground color for text in standard window content areas.
Color WindowForegroundColor { get; }