Table of Contents

Class StartMenuOptions

Namespace
SharpConsoleUI.Configuration
Assembly
SharpConsoleUI.dll

Configuration options for Start menu appearance and behavior. Use object initializer syntax to set only the properties you need. Property changes raise OptionsChanged so the Start menu can react at runtime.

public class StartMenuOptions
Inheritance
StartMenuOptions
Inherited Members
Extension Methods

Properties

AppName

Application name shown in the Start menu header. Defaults to "SharpConsoleUI".

public string? AppName { get; set; }

Property Value

string

AppVersion

Application version shown in the Start menu header. Defaults to library version.

public string? AppVersion { get; set; }

Property Value

string

BackgroundColor

Background color. Null resolves from theme MenuDropdownBackgroundColor.

public Color? BackgroundColor { get; set; }

Property Value

Color?

BackgroundGradient

Optional gradient background for the Start menu window.

public GradientBackground? BackgroundGradient { get; set; }

Property Value

GradientBackground

BottomBarItems

Custom controls added to the bottom bar between exit button and info text. Mutate the list directly; call RaiseOptionsChanged() after bulk changes.

public List<IWindowControl> BottomBarItems { get; }

Property Value

List<IWindowControl>

Categories

Custom categories for the Start menu sidebar. Mutate the list directly; call RaiseOptionsChanged() after bulk changes.

public List<StartMenuCategory> Categories { get; }

Property Value

List<StartMenuCategory>

ForegroundColor

Foreground color. Null resolves from theme MenuDropdownForegroundColor.

public Color? ForegroundColor { get; set; }

Property Value

Color?

HeaderIcon

Icon displayed next to the app name in the header. Defaults to "☰" (U+2630).

public string HeaderIcon { get; set; }

Property Value

string

HighlightBackgroundColor

Highlight background color. Null resolves from theme MenuDropdownHighlightBackgroundColor.

public Color? HighlightBackgroundColor { get; set; }

Property Value

Color?

HighlightForegroundColor

Highlight foreground color. Null resolves from theme MenuDropdownHighlightForegroundColor.

public Color? HighlightForegroundColor { get; set; }

Property Value

Color?

InfoStripItems

Info-strip items displayed in the bottom bar (right side). Mutate the list directly; call RaiseOptionsChanged() after bulk changes.

public List<string> InfoStripItems { get; }

Property Value

List<string>

Layout

Layout mode: SingleColumn (compact) or TwoColumn (with window list).

public StartMenuLayout Layout { get; set; }

Property Value

StartMenuLayout

ShowIcons

Whether to show Unicode icons next to headers and exit.

public bool ShowIcons { get; set; }

Property Value

bool

ShowSystemCategory

Show built-in System category (themes, settings, about, performance).

public bool ShowSystemCategory { get; set; }

Property Value

bool

ShowWindowList

Show Windows list (right column in TwoColumn, submenu in SingleColumn).

public bool ShowWindowList { get; set; }

Property Value

bool

SidebarStyle

Sidebar display style: IconRail, IconLabel, or TextLabel.

public StartMenuSidebarStyle SidebarStyle { get; set; }

Property Value

StartMenuSidebarStyle

Methods

RaiseOptionsChanged()

Raises the OptionsChanged event. Call after bulk-mutating Categories, InfoStripItems, or BottomBarItems.

public void RaiseOptionsChanged()

Events

OptionsChanged

Raised when any property value changes.

public event EventHandler? OptionsChanged

Event Type

EventHandler