🎨 iBrowe Built-in Theme System

iBrowe includes two native UI themes: Dark and Light.


🌈 Default Theme Behavior

  • Light Theme is used by default in:

    • Release Channel
    • Beta Channel
  • Dark Theme is used by default in:

    • Dev Channel
    • Local Development Builds

🧩 WebUI Integration

As of PR #774, iBrowe exposes a set of WebUI APIs that allow reading, setting, and observing the active theme via chrome.ibroweTheme.

Available Theme Types

type ThemeType = 'Light' | 'Dark'

🔍 Get Current Theme

chrome.ibroweTheme.getIboweThemeType((themeType: ThemeType) => {
  console.log("Current theme:", themeType);
});

🖊️ Set Theme

chrome.ibroweTheme.setIboweThemeType('Dark');  // or 'Light'

👂 Observe Theme Changes

chrome.ibroweTheme.onIboweThemeTypeChanged.addListener((themeType: ThemeType) => {
  console.log("Theme changed to:", themeType);
});

📎 Source: Adapted from Brave’s theming API documentation and PR #774 — rewritten for use in the iBrowe project