Skip to content

feat: color palettes#787

Merged
frysee merged 4 commits into
mainfrom
color-palettes
Jul 19, 2026
Merged

feat: color palettes#787
frysee merged 4 commits into
mainfrom
color-palettes

Conversation

@frysee

@frysee frysee commented Jul 19, 2026

Copy link
Copy Markdown
Member

Let users pick from predefined, file-based color themes (shippable + community-shareable)
while keeping full per-color custom editing. A theme = the 7 UI colors (color1–7).

File format

Reuse the existing key=value / colorN=0xRRGGBBAA syntax (parser already exists —
parseHexColor, accepts RGB and RGBA). One theme = one .txt file.

version=1
name=Default
color1=0xffffffff
color2=0x9b2257ff
color3=0x1e2329ff
color4=0xffffffff
color5=0x000000ff
color6=0xffffffff
color7=0x000000ff
  • version= = theme-format version (start at 1). Lets us extend the schema later
    (e.g. add font/radius). Missing version ⇒ treat as 1. A theme whose version
    exceeds the max we support is skipped entirely
    (not listed, not applied).
  • name= = display label (fallback: filename minus extension, underscores→spaces).
  • Scope is colors only for now; Unknown keys ignored (forward-compat).

Storage layout — dual folders

  • Built-in themes: ship in skeleton/SYSTEM/res/themes/*.txt (→ RES_PATH/themes,
    controlled, survives updates, not meant to be user-edited).
  • Community/user themes: drop-in folder SDCARD_PATH/Palettes/*.txt (top-level, visible,
    survives settings reset). Add skeleton/BASE/Palettes/ with a short README explaining
    the file format so users can author/share.
  • Enumeration scans both; built-ins listed first. On name collision, keep both but tag
    source (built-in vs user).

@frysee
frysee merged commit 76c22e9 into main Jul 19, 2026
62 checks passed
@frysee
frysee deleted the color-palettes branch July 19, 2026 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant