meta data for this page
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| section:section-dynamic_color_customize [2026/07/21 11:43] – doreps | section:section-dynamic_color_customize [2026/07/31 12:57] (current) – doreps | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Customizing: | + | ===== Total Launcher Dynamic Color Guide: Material You Customization |
| - | ---- | + | Total Launcher features a Dynamic Color Scheme designed to integrate Android' |
| - | {{ | + | {{ :section:section-dynamic_color-customize-colors_visual.webp? |
| - | + | ||
| - | This has been a mystery with Total Launcher since the developer, ChYK, has not published an explanation of how Dynamic Color works within the launcher. The explanation given here is based on Material 3 descriptions. If //any user// has established a setup using the '' | + | |
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | {{ : | + | |
| ==== What it Does ==== | ==== What it Does ==== | ||
| - | Total Launcher leverages Android' | + | Total Launcher leverages Android' |
| - | What it does is complicated, but some history may help. | + | Google introduced Material Design in 2014 to standardize Android UIs, evolved |
| - | In 2014, Google believed | + | ==== Turn It On ==== |
| + | To enable | ||
| + | | ||
| - | Material You used the philosophy of "Form Follows Feeling," with **Dynamic Color** being the major feature through its//monet engine//, which extracts colors from the wallpaper //or a chosen color//, expands | + | ==== How to Apply Dynamic Color to an Object ==== |
| - | ++++ | + | Once the global setting is on, assign dynamic colors to individual elements on the screen: |
| + | - Long-press any object (Text, Shape, Icon, or Image) and enter **Edit Mode**. | ||
| + | - Tap '' | ||
| + | - Select | ||
| + | - In the dialog that opens, select '' | ||
| + | - For the object that was originally selected, now choose a **Role** (e.g., '' | ||
| - | ==== Turn It On ==== | + | **To detach an object from the dynamic wallpaper theme** and use a fixed color instead, select '' |
| - | To enable this engine: | ||
| - | * '' | ||
| ==== The Master Plan: A Museum Exhibit ==== | ==== The Master Plan: A Museum Exhibit ==== | ||
| - | Think of the device screen as a **Museum Exhibit**. When Material You (M3) is enabled, the system acts as a **" | + | Think of your device screen as a **Museum Exhibit**. When Material You (M3) is enabled, the system acts as a **" |
| - | Instead of picking | + | Instead of picking |
| - | * **Primary (The Main Exhibit):** The "Star of the Show." Use for important | + | * **Primary (The Main Exhibit):** The "Star of the Show." Use for key search bars or main action |
| - | * **Secondary (The Support Gallery):** Supporting actors. Use for less important | + | * **Secondary (The Support Gallery):** Supporting actors. Use for secondary |
| - | * **Tertiary (The Highlight): | + | * **Tertiary (The Highlight): |
| - | * **Neutral & Surface (The Walls & Floor):** The building itself. | + | * **Neutral & Surface (The Walls & Floor):** The museum |
| - | * **The " | + | * **The " |
| ==== The Curator in Action ==== | ==== The Curator in Action ==== | ||
| - | These samples | + | These samples |
| <WRAP group> | <WRAP group> | ||
| Line 54: | Line 53: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | ---- | ||
| ==== Dynamic Color Cheat Sheet ==== | ==== Dynamic Color Cheat Sheet ==== | ||
| - | This table explains the difference between | + | This table contrasts |
| <WRAP group> | <WRAP group> | ||
| <WRAP box center 90%> | <WRAP box center 90%> | ||
| - | ^ If choosing ... ^ The Object follows... ^ Dynamic? ^ Best for... ^ | + | ^ If choosing... ^ The Object follows... ^ Dynamic? ^ Best for... ^ |
| - | | **Custom color** | a manually | + | | **Custom color** | Manually |
| - | | **Primary** | Main System Accent | **YES** | Most important buttons and headings. | | + | | **Primary** | Main System Accent | **YES** | Most important buttons, headers, |
| - | | **On Primary** | Contrast Algorithm | **YES** | Text on top of Primary backgrounds. | | + | | **On Primary** | OS Contrast Algorithm | **YES** | Text or icons placed |
| - | | **Secondary** | Supporting Accent | **YES** | Less important | + | | **Secondary** | Supporting Accent | **YES** | Secondary |
| - | | **Tertiary** | Complementary Accent | **YES** | " | + | | **Tertiary** | Complementary Accent | **YES** | " |
| - | | **Surface** | System Background Tones | **YES** | Page backgrounds and subtle cards. | | + | | **Surface** | System Background Tones | **YES** | Page backgrounds, card containers, |
| - | **Note:** If the launcher shows "No Wallpaper," | + | **Note:** If your launcher shows "No Wallpaper," |
| </ | </ | ||
| </ | </ | ||
| - | Visual Guide to the Dialogs\\ | + | ---- |
| - | ^ TL Dynamic Color dialog: \\ Choosing a Role for your object | + | |
| - | {{:ui:ui-dynamic_color.webp? | + | |
| - | | | | + | |
| - | | | | + | |
| - | |* Primary | | + | |
| - | |* On primary | | + | |
| - | |* Primary container | | + | |
| - | |* On primary container | | + | |
| - | |* Secondary | | + | |
| - | |* On secondary | | + | |
| - | |* Secondary container | | + | |
| - | |* On secondary container | | + | |
| - | |* Tertiary | | + | |
| - | |* On tertiary | | + | |
| - | |* Tertiary container | | + | |
| - | |* On tertiary container | | + | |
| - | |* Error | | + | |
| - | |* On error * Error container | | + | |
| - | |* On error container | | + | |
| - | |* Surface | | + | |
| - | |* On surface | | + | |
| ==== Troubleshooting & Tips ==== | ==== Troubleshooting & Tips ==== | ||
| <WRAP notice> | <WRAP notice> | ||
| - | **The colors aren't changing!**\\ | + | **My colors aren't changing!**\\ |
| - | When wallpaper | + | If you change your wallpaper but your " |
| </ | </ | ||
| - | * **The " | + | * **The " |
| - | * **Sync Wallpaper: | + | * **Sync Wallpaper: |
| - | * **The "Force Refresh": | + | * **The "Force Refresh": |
| * Restart the launcher: '' | * Restart the launcher: '' | ||
| - | * Toggle the '' | + | * Toggle the '' |
| - | * **Custom Overrides: | + | * **Custom Overrides: |
| - | ==== Noted Issues ==== | + | ---- |
| - | + | ||
| - | There have been discussions on how Total Launcher has implemented its Dynamic Color Scheme and Dynamic Color dialog. Since the developer has not made background documentation available, questions will continue to arise. There may also be some additional thoughts posted in the discussion section at the bottom of this page. | + | |
| - | + | ||
| - | For those interested in reviewing other viewpoints, ++++click here| | + | |
| - | + | ||
| - | I am using a base wallpaper in my design (controlled by a third-party app called DualWallpaper that allows automatic changes to the lock and home screen wallpapers with Light/Dark mode), but only 70% is transparent. I have tried with a more colorful wallpaper, and the result for the Custom Color dialog is the same. | + | |
| - | + | ||
| - | The more I use TL, the more I see it working as a GUI overlay on top of the Home UI (in my Samsung case). That gives it the possibility to reframe the roles of the GUI elements (buttons, menus, etc.) to what the user wants them to be. When constructing a home interface using TL, a button is a button only if the user decides it is. | + | |
| - | + | ||
| - | The connection with M3 can be implemented in the custom home interface as much as the user needs it and on the elements the user needs it, but the restrictions on how those colors are read from the M3 API by TL could be coming from the Google side. | + | |
| - | ... the Custom Color function in TL falls outside the direct M3 implementation and, as far as I can see, is an internal addition to its functionality, | + | ==== Technical Architecture & Community Observations ==== |
| - | I think that the problem of not displaying the currently chosen colors when opening the custom colors dialog is either a technical inability to read any dynamic colors from a single selected object (no matter automatic - primary, secondary... or Custom) or it' | + | Total Launcher operates as a flexible GUI overlay running above the Android system UI. Understanding how it interfaces with Google' |
| - | ... I am not sure if that's a bug or a technical limitation. | + | * **Decoupled Roles:** Unlike standard launchers that apply dynamic colors universally across predefined grids, Total Launcher exposes the full M3 token list to individual objects. A button or text object only obeys Material You if you explicitly assign it an M3 role (`Primary`, `Secondary Container`, etc.). |
| - | ++++ | + | * **Google API Boundaries: |
| + | * **The Custom Color Isolation: | ||
| - | <WRAP noprint> | ||