Quick start

Base Starter template (ZIP). Extract into themes/, rename folder to your theme id (e.g. my-theme).

  1. Copy the base template — Use the Base template above, or copy themes/_base/ from the repo. Folder name = theme id (lowercase, hyphens). Folders starting with _ are not discovered.
  2. Update manifest.json — Set id (must match folder name), name, and titleBar colors.
  3. Customize theme.css — Edit CSS variables under [data-theme="my-theme"]. Only override what you need; the rest inherits from the dark theme.
  4. Test in app — Restart Pointer and select your theme in Settings → Appearance.

Example themes: themes/dracula/ (custom colors), themes/_base/ (template with all variables).