PolyQon.
All-Android tweaks — our own open theming engine. Works on every Android 9+ device; the full One UI theming suite unlocks on Samsung. Open source. No account. in progress
PolyQon
Free, open-source Samsung One UI theming — built from the ground up.
> Status: LIVE ON DEVICE — PolyQon is now a full three-part stack, all tested on rooted
> Fold 6s (One UI 8.5 + One UI 7):
>
> 1. CLI (polyqon) — recolours the whole phone via cmd overlay fabricate (Material You +
> Samsung sesl_* accent), plus tweaks + Good Lock detection.
> 2. App (com.polyqon.app) — a native One UI-style Android app with a Tweaks hub that drives
> everything (recolour, gradients, harmony explorer, contrast meter, tweaks).
> 3. Xposed module (com.polyqon.xposed) — deep hooks for the stuff overlays can't reach
> (status-bar clock position/colour/size, lockscreen clock, battery, QS columns, transparency).
Where things are at
Working & live-verified
-
Recolour — arbitrary accent colour, two fabricated overlays (framework + SystemUI),
121 source-verified Samsung
sesl_*/qs_*/qp_*warm slots. No reboot needed. - Colour engine — self-contained Oklab (ARGB↔Oklab round-trips exactly), tonal palettes, hue rotation, Material-You schemes from one seed.
-
CLI — 17 commands:
probe,apply,scheme,ramp,recolor,patch,tweaks, Good Lock detection, 9 Material You variants. - Android app — full recolour + gradients + harmony explorer + contrast meter + phone preview + history + variants, One UI polish (squircles, translucent blur panels, safe-area spacing).
-
Xposed module — fires clean on One UI 7: status-bar clock (position/colour/size/hide/12h-24h),
lockscreen clock, battery hide, QS columns, transparency. Hooks both One UI 7
(
PhoneStatusBarClockManager) and One UI 8.5 (PhoneStatusBarViewController) class paths.
In progress
- Porting the full Samsung theme feature map into the Xposed module + app (see below).
-
dimen/booloverlay tweaks —cmd overlay fabricateis colour-only; these need the Xposed module (done) or a platform-key RRO APK.
What it is
PolyQon recolours your Samsung Galaxy two ways: the modern Material You / dynamic-colour route via
One UI's own theming levers, and the classic hex-patch route that patches a theme package's colour
values directly. Free, open source, GPL-3.0. No account, no login. The Q is
for q6q — the Fold 6's board codename.
$ polyqon --adb adb probe # read the live theming levers (read-only)
$ polyqon apply --accent "#2D00FF" # recolour the whole phone (arbitrary colour!)
$ polyqon scheme "#6750A4" # one seed -> a full Material-You style scheme
$ polyqon ramp "#3B82F6" --tones 20,50,80
$ polyqon patch --apk theme.apk --palette palettes/example.json
Why it exists
We believe theming should be open, documented, and free. PolyQon is our own implementation: the technique is written down, the source is free, and anyone can fork it. No account, no lock-in, no hidden steps.
Built in the open
PolyQon is our own codebase. We studied the public behaviour of earlier Samsung theming tools, then wrote our own implementation and documented the technique. The full lineage, credits, and links to related projects live on the credits page.
The modern Material You / dynamic-colour work is informed by public research from the Android theming community. We credit those projects and link their source where applicable.
The Samsung theme feature map (reverse-engineered, ready to port)
Studied six public Samsung theme plugins (ayOS, Asylum, Dolian, Helling, terpsichora_, Spark) to build a complete feature taxonomy. These surfaces appear across modern Samsung themes:
| Category | What it themes |
|---|---|
BACKGROUND
|
wallpaper / app backgrounds |
BOX
|
card & panel boxes |
CONTROL
|
toggles, checkboxes, radio buttons |
DIALPAD
|
phone keypad |
ICONS
|
QS + settings icons |
KEYBOARD
|
keyboard keys |
NAVBAR
|
navigation bar |
QS
|
quick-settings panel |
SETTINGSICON
|
settings app icons |
STATUSBAR
|
status bar |
HOME
|
launcher / home screen |
MISC
|
everything else |
Plus the broader Samsung theme feature set: coloring (16 slots — accent, background, box stroke, bubble, notification bg/header/sub-text, transparency, gradient toggles), fonts (up to 10 custom), backgrounds (home/lockscreen, day & night), app icons, and preferences/tweaks (navbar height, hide battery icon, hide multi-SIM panel, QS rows/columns, tile mask, icon cache remover). All of this is being carried into PolyQon — colours via overlays, the rest via the Xposed module.
The research (done, live device)
Mapped the real theme system on a rooted One UI 8.5 Fold 6. Key finding: the "Color palette" picker
writes the standard Android Material You key secure.theme_customization_overlay_packages — a
JSON whose system_palette / accent_color hold an arbitrary ffRRGGBB colour (Samsung's
legacy cmf_color_code doesn't move). That means PolyQon can set any colour, not a preset list.
json
{
"android.theme.customization.color_index": "0",
"android.theme.customization.system_palette": "ff2d00ff",
"android.theme.customization.accent_color": "ff2d00ff",
"android.theme.customization.color_source": "preset",
"android.theme.customization.theme_style": "TONAL_SPOT"
}
Plus the other writable levers: `wallpapertheme_color` ramps, `navigationbar_color`, QS text
colours, and `colortheme_app_icon` (tint icons). The classic theme-package target (a theme APK's
`resources.arsc`) lives in `/data/overlays/main_packages/` + `jsonfiles/`.
## The core engine (working, tested)
A self-contained **Oklab** colour engine (no dependencies) — ARGB ↔ Oklab round-trips exactly, and
generates tonal palettes, hue rotation, and Material-You-style schemes from a single seed. Plus the
**hex-patch** core (the classic theme-package technique) and a **device bridge** that reads/writes the One UI
levers over adb:
```python```
def patch_colors(data: bytes, mapping: dict[str, str]) -> tuple[bytes, int]:
out = bytearray(data)
replaced = 0
for old_hex, new_hex in mapping.items():
old = struct.pack("<I", color_to_argb(old_hex)) # BB GG RR AA
new = struct.pack("<I", color_to_argb(new_hex))
n = out.count(old)
if n:
out = out.replace(old, new)
replaced += n
return bytes(out), replaced
Roadmap
- ✅ Theme-system map (live device).
- ✅ Colour engine (Oklab) + hex-patch core.
-
✅ Device bridge + CLI (
probe/scheme/ramp/apply/patch/recolor/tweaks). -
✅ Arbitrary accent colour (
apply --accent). -
✅ SemWT overlay format decoded (
.frrofabricated overlays) + byte-perfect codec (frro.py). -
✅ Full recolour works (
recolor --seed) — two fabricated overlays (framework + SystemUI), including Samsung'ssesl_*accent system. Live-verified: pink → blue, no reboot. -
✅ Android app (
com.polyqon.app) — recolour + gradients + tweaks hub, One UI polish. -
✅ Xposed module (
com.polyqon.xposed) — clock, lockscreen clock, battery, QS columns, transparency. Live on One UI 7 + 8.5. - ⏳ Port the full Samsung theme feature map (backgrounds, fonts, controls, dialpad, keyboard, navbar).
- ⏳ Publish on GitHub.
Repo
Coming to GitHub soon — same home as orbit. Watch this space.