Interface IThemeManager

An interface for a theme manager.

interface IThemeManager {
    darkThemes?: readonly string[];
    lightThemes?: readonly string[];
    preferredDarkTheme?: string;
    preferredLightTheme?: string;
    preferredTheme?: null | string;
    theme: null | string;
    themeChanged: ISignal<IThemeManager, IChangedArgs<string, null | string, string>>;
    themes: readonly string[];
    getDisplayName(name): string;
    isLight(name): boolean;
    loadCSS(path): Promise<void>;
    register(theme): IDisposable;
    setTheme(name): Promise<void>;
    themeScrollbars(name): boolean;
}

Implemented by

Properties

darkThemes?: readonly string[]

Get the names of the registered dark themes.

lightThemes?: readonly string[]

Get the names of the registered light themes.

preferredDarkTheme?: string

Get the name of the preferred dark theme.

preferredLightTheme?: string

Get the name of the preferred light theme.

preferredTheme?: null | string

Get the name of the preferred theme.

theme: null | string

Get the name of the current theme.

themeChanged: ISignal<IThemeManager, IChangedArgs<string, null | string, string>>

A signal fired when the application theme changes.

themes: readonly string[]

The names of the registered themes.

Methods

  • Test whether a given theme styles scrollbars, and if the user has scrollbar styling enabled.

    Parameters

    • name: string

    Returns boolean