feat: Add monochrome theme - #740
Conversation
Add a Monochrome theme preset with neutral light and dark color schemes, wired through the existing theme selection flow. Use shared Monochrome surface helpers so settings groups, glass controls, sheets, and selection bars can quiet their surfaces without changing the existing layout rounding. Home app cards use the same card structure with solid Monochrome surfaces instead of app-color gradients.
|
What about the InfoApp dialog (when tapping the app card)? Usually, the app's accent colors are used there in the header, the update banner, and the buttons. I’m not sure if that needs changing. |
Route app info dialog accent styling through the shared MonochromeThemeDefaults accent helper. Normal themes still use each app's accent color, while Monochrome uses the resolved grey theme primary color for the app info header, banners, and action buttons. Custom accent colors still override the Monochrome palette when selected by the user. Verified with git diff --check and assembleDebug. Installed the debug APK with adb.
Thanks, I updated the app info dialog. Normal themes still use the app accent colors, but Monochrome now routes those accent areas through the shared theme defaults, so the header, update/warning banners, and action buttons use the neutral Monochrome palette. Custom accent colors still work if the user chooses one. |
Remove temporary ONE_UI preference and selector aliases now that the theme ships as Monochrome. Keeps the appearance settings and preference mapping aligned with the final theme name. Verified with rg, git diff --check, and assembleDebug. Installed the debug APK with adb.
|
woah |
|
Yeah, I tried it out and it looks cool; there's just one thing I didn't get, the code contains light theme colors, but there isn't actually a light monochrome theme. Is it even necessary? If so, how should it be implemented, as a separate card or as a toggle? "Monochrome dark / light" is too long a name for cards. |
Personally I liked the app card dark background more. But the colour of button as shown in screenshot looks counter intuitive or not that good. It's better to have the previous default colour for the buttons as is. But the dark app card background looks a cool theme option to have |
Split the appearance theme selector into a Theme mode row for System, Light, and Dark, and a Color style row for Morphe, Material You, and Monochrome. This keeps monochrome usable with any light/dark mode without long duplicate theme cards. Persist the selected color style, resolve legacy monochrome and dynamic color states through a shared helper, and keep old MONOCHROME theme settings compatible while routing new selections through ThemeStyle.
Ahh that makes sense This looks very good now |
# [1.24.0](v1.23.0...v1.24.0) (2026-07-23) ### Bug Fixes * Add confirmation dialog before batch uninstall ([3486b62](3486b62)) * Align `About section` app-info item style with installer item ([d20d23b](d20d23b)) * Align patch options notices with `InfoBadge` component ([3b7236d](3b7236d)) * Center text in translation info dialog and format GitHub PAT link ([74e128c](74e128c)) * Consistent search field spacing in patch list dialogs ([1103fda](1103fda)) * Correct emoji flag size in language selection card ([72dd679](72dd679)) * Dedupe expert-mode UI patterns and reuse shared components ([e172fda](e172fda)) * Deduplicate confirmation dialogs with shared `ConfirmDialog` ([f954119](f954119)) * Don't trigger update badge for experimental-version-only changes ([#666](#666)) ([6854d0f](6854d0f)) * Drop top padding in title-less compact dialogs ([34545e9](34545e9)) * Extract `CardActionRow` and align card paddings ([7d2aabf](7d2aabf)) * Extract `SelectionTile` for grid-style appearance pickers ([7274264](7274264)) * Fix multiselect mode in APK dialogs ([b6f4f63](b6f4f63)) * Fix spurious patch source badge and refine installer dialog UI ([00059a0](00059a0)) * Harden root mount installs ([#737](#737)) ([5f05273](5f05273)) * Inline `SelectionActionBar` into `MultiSelectBar` and reorder cancel button ([70d7991](70d7991)) * Keep simple mode patch options rendered on tab re-entry ([fd33414](fd33414)) * Migrate `PatchCard` to shared `SettingsItemCard` ([4704c40](4704c40)) * Migrate language picker to shared `RadioSelectionCard` ([09c760b](09c760b)) * Move installer prompt toggle into selection dialog ([9f96f37](9f96f37)) * Normalize expert-mode padding to `MorpheDefaults` ([ecb6c7b](ecb6c7b)) * Prevent storage dialog crash when segments list is empty ([b155ddb](b155ddb)) * Replace bundle card toggles with `ToggleRow` and fix expanded card spacing ([3ca5d32](3ca5d32)) * Replace compactPadding/noPadding booleans with `DialogPadding` enum ([0d7758b](0d7758b)) * Rewrite `CreditsDialog` with Morphe-style components ([2a8eb38](2a8eb38)) * Share patch list components and consolidate badges ([797004d](797004d)) * Show installer prompt toggle regardless of expert mode ([9ce1857](9ce1857)) * Show intermediate dev versions in changelog dialog ([44a9948](44a9948)) * Show music note icon for audio files in custom file picker ([ac082cf](ac082cf)) * Split `ExpertModeDialog` into focused files ([a9e857c](a9e857c)) * Split `SectionsLayout` into focused files ([56085e0](56085e0)) * Top-align list-based dialogs and dedupe `MorpheDialog` ([c012263](c012263)) * Unify `RadioSelectionCard` visuals across dialogs ([885dd2d](885dd2d)) * Unify settings tabs with `SettingsGroup` and consolidate item components ([3277958](3277958)) * Use correct `ChangelogEntryHeader` color ([83bc437](83bc437)) * Wrap `AboutSection` items in `SettingsGroup` ([2367e6c](2367e6c)) ### Features * Add APK retention toggles in storage management ([c57edb7](c57edb7)) * Add batch app uninstall and reinstall actions ([#739](#739)) ([998e943](998e943)) * Add footer section to `RadioSelectionCard` and apply it to installer options ([ecfaf03](ecfaf03)) * Add home app grouping controls ([#725](#725)) ([6b10955](6b10955)) * Add monochrome theme ([#740](#740)) ([1e3d0b7](1e3d0b7)) * Add patcher notification sounds with settings toggle and reorganize settings tabs ([51dda37](51dda37)) * Add press-scale animation to `ActionPillButton` ([6721137](6721137)) * Add sort button visibility toggle in Appearance settings ([c3c5e8b](c3c5e8b)) * Add source labels and versions to patch source picker ([0b3f299](0b3f299)) * Add storage and cache management dialog ([#714](#714)) ([f8e354d](f8e354d)) * Add typed patch options ([#706](#706)) ([52727a4](52727a4)) * Animate `HeroInfoCard` in APK management dialogs with shimmer and counter transitions ([f98a602](f98a602)) * Display CPU architecture in saved and patched APK cards ([1d2b6e8](1d2b6e8)) * Improve Shizuku installer flow ([#734](#734)) ([08ab696](08ab696)) * Redesign `InstalledAppInfoDialog` with Morphe-style components and layout improvements ([d9e4ef3](d9e4ef3)) * Redesign `PatchListComponents` with Morphe-style components and layout improvements ([d733da6](d733da6)) * Redesign destructive confirmation dialogs ([85dfad9](85dfad9)) * Route add-source through the website and enforce a remote blocklist ([#715](#715)) ([8f1494e](8f1494e))



Add a Monochrome theme preset with neutral light and dark color schemes, wired through the existing theme selection flow.
Use shared Monochrome surface helpers so settings groups, glass controls, sheets, and selection bars can quiet their surfaces without changing the existing layout rounding. Home app cards use the same card structure with solid Monochrome surfaces instead of app-color gradients.