• Registers IPC handlers for theme mode operations.

    Parameters

    • mainWindow: BrowserWindow

      Main application window for security validation.

    Returns void

    export function addThemeEventListeners(mainWindow: BrowserWindow) {
    // Return current theme source
    secureHandle(
    THEME_MODE_CURRENT_CHANNEL,
    () => nativeTheme.themeSource,
    mainWindow,
    );

    // Toggle between dark and light modes
    secureHandle(
    THEME_MODE_TOGGLE_CHANNEL,
    () => {
    if (nativeTheme.shouldUseDarkColors) {
    nativeTheme.themeSource = "light";
    } else {
    nativeTheme.themeSource = "dark";
    }
    return nativeTheme.shouldUseDarkColors;
    },
    mainWindow,
    );

    // Force dark mode
    secureHandle(
    THEME_MODE_DARK_CHANNEL,
    () => (nativeTheme.themeSource = "dark"),
    mainWindow,
    );

    // Force light mode
    secureHandle(
    THEME_MODE_LIGHT_CHANNEL,
    () => (nativeTheme.themeSource = "light"),
    mainWindow,
    );

    // Use system theme preference
    secureHandle(
    THEME_MODE_SYSTEM_CHANNEL,
    () => {
    nativeTheme.themeSource = "system";
    return nativeTheme.shouldUseDarkColors;
    },
    mainWindow,
    );
    }