Skip to main content

Overview

The Tint System uses four distinct parameter groups. Each controls a different aspect of color transformation.
+-------------------------------------------------------------------------+
|                         PARAMETER GROUP MAP                             |
+-------------------------------------------------------------------------+
|                                                                         |
|          TINT                              ANCHOR                       |
|       (What color                       (Theme identity                 |
|        to add)                           reference)                     |
|            \                               /                            |
|             \                             /                             |
|              +---------------------------+                              |
|              |                           |                              |
|              |    YOUR THEME COLORS      |                              |
|              |                           |                              |
|              +---------------------------+                              |
|             /                             \                             |
|            /                               \                            |
|         ARC                              INHERIT                        |
|     (How to bend                      (How much UI                      |
|      complementary)                   gets theme color)                 |
|                                                                         |
+-------------------------------------------------------------------------+

Group 1: Tint Parameters

Tint adds a subtle color overlay to all colors. Like looking through tinted glass.
+-------------------------------------------------------------------------+
|                         TINT: COLOR OVERLAY                             |
+-------------------------------------------------------------------------+
|                                                                         |
|   tintHue: 0-360 degrees                                               |
|   =========================                                             |
|                                                                         |
|   The color direction all colors are pulled toward.                     |
|                                                                         |
|                            0 deg (Red)                                  |
|                               *                                         |
|                             /   \                                       |
|                           /       \                                     |
|                    330  /           \  30                               |
|                  (Pink)*             *(Orange)                          |
|                       /               \                                 |
|                      /                 \                                |
|            270 *----+                   +----* 90                       |
|          (Blue)     |                   |     (Yellow)                  |
|                      \                 /                                |
|                       \               /                                 |
|                    210 *             * 150                              |
|                   (Cyan) \         / (Green)                            |
|                           \       /                                     |
|                             \   /                                       |
|                               *                                         |
|                           180 deg (Cyan)                                |
|                                                                         |
|   Common tintHue values:                                               |
|   +---------------------------------------------------------------+    |
|   | 250 deg | Blue       | monolex-night, dracula, one-dark      |    |
|   | 200 deg | Cyan       | solarized                              |    |
|   |  30 deg | Orange     | warm themes                            |    |
|   | 130 deg | Green      | nature themes                          |    |
|   +---------------------------------------------------------------+    |
|                                                                         |
+-------------------------------------------------------------------------+
+-------------------------------------------------------------------------+
|   tintStrength: 0-100%                                                  |
|   ====================                                                  |
|                                                                         |
|   How much tint to apply.                                              |
|                                                                         |
|    0% |----| Almost invisible                                          |
|    5% |========| Subtle harmony (recommended)                          |
|   15% |================| Noticeable bias                               |
|   30% |========================| Strong theme                          |
|   50% |================================| Extreme                       |
|                                                                         |
|   Recommended: 5-15% for natural look                                  |
|                                                                         |
+-------------------------------------------------------------------------+
+-------------------------------------------------------------------------+
|   tintChroma: 0.00-0.40                                                |
|   =====================                                                 |
|                                                                         |
|   How saturated the tint color itself is.                              |
|                                                                         |
|   0.00  [     Gray     ] No color at all                               |
|   0.02  [  Subtle Blue ] Very soft hint (default)                      |
|   0.05  [  Clear Blue  ] Noticeable color                              |
|   0.10  [ Vivid Blue   ] Strong presence                               |
|   0.15+ [BRIGHT BLUE   ] May clip in sRGB                              |
|                                                                         |
+-------------------------------------------------------------------------+

Group 2: Anchor Parameters

The anchor defines your theme’s identity color. This is the “home base” other colors relate to.
+-------------------------------------------------------------------------+
|                       ANCHOR: THEME IDENTITY                            |
+-------------------------------------------------------------------------+
|                                                                         |
|   darkAnchorHue: 0-360 degrees                                         |
|   ============================                                          |
|                                                                         |
|   The theme's "home" color. All other colors are measured relative     |
|   to this anchor.                                                       |
|                                                                         |
|   Example: Blue theme (anchor = 250 deg)                               |
|                                                                         |
|                        Color Wheel                                      |
|                                                                         |
|                    Red (0 deg)                                          |
|                        *                                                |
|                      /   \                                              |
|              Orange *     * Pink                                        |
|                    /       \                                            |
|            Yellow *    @    * Magenta                                   |
|                  /   ANCHOR  \                                          |
|           Green *   (250 deg) * Blue <-- Theme's home                   |
|                  \           /                                          |
|            Cyan   *         * Indigo                                    |
|                    \       /                                            |
|                      *   *                                              |
|                                                                         |
|   The anchor determines:                                               |
|   - Where the Caustic zone forms (opposite side)                       |
|   - What hue backgrounds and text inherit                              |
|   - The "gravity center" for Frame Drag                                |
|                                                                         |
+-------------------------------------------------------------------------+
+-------------------------------------------------------------------------+
|   darkAnchorChroma: 0.00-0.40                                          |
|   ===========================                                           |
|                                                                         |
|   How colorful dark backgrounds appear.                                |
|                                                                         |
|   0.00  |####################| Pure gray background                    |
|   0.02  |####################| Subtle blue tint (default)              |
|   0.05  |####################| Clear theme color visible               |
|                                                                         |
|   Higher values = more obvious theme color in dark areas               |
|                                                                         |
+-------------------------------------------------------------------------+

Anchor vs Tint

These are often the same, but can differ for special effects.
+-------------------------------------------------------------------------+
|                       ANCHOR vs TINT SEPARATION                         |
+-------------------------------------------------------------------------+
|                                                                         |
|   SAME (most themes):                                                  |
|   +---------------------------------------------------------------+    |
|   |  tintHue = 250 deg (Blue)                                     |    |
|   |  darkAnchorHue = 250 deg (Blue)                               |    |
|   |                                                               |    |
|   |  Result: Unified blue theme                                   |    |
|   +---------------------------------------------------------------+    |
|                                                                         |
|   DIFFERENT (special effect):                                          |
|   +---------------------------------------------------------------+    |
|   |  tintHue = 30 deg (Orange) <-- warm overlay                   |    |
|   |  darkAnchorHue = 250 deg (Blue) <-- bend around blue          |    |
|   |                                                               |    |
|   |  Result: "Warm sunset on blue night" effect                   |    |
|   |  - Colors bend around blue (Einstein Arc)                     |    |
|   |  - But have warm orange undertone (Tint)                      |    |
|   +---------------------------------------------------------------+    |
|                                                                         |
+-------------------------------------------------------------------------+

Group 3: Arc Parameters (Einstein Arc)

These control how colors in the complementary zone are compressed and redistributed.
+-------------------------------------------------------------------------+
|                   ARC: EINSTEIN ARC SETTINGS                            |
+-------------------------------------------------------------------------+
|                                                                         |
|   pullComplementary: -180 to 180 degrees                               |
|   ======================================                                |
|                                                                         |
|   Offset from complementary to find the Caustic center.                |
|                                                                         |
|   For Blue theme (anchor = 250 deg):                                   |
|                                                                         |
|   Anchor:         250 deg (Blue)                                       |
|        |                                                                |
|        +-- add 180 deg                                                 |
|        |                                                                |
|   Complementary:  70 deg (Yellow-Green)                                |
|        |                                                                |
|        +-- add 60 deg (pullComplementary)                              |
|        |                                                                |
|   Caustic Center: 130 deg (Green) <-- This is where colors compress    |
|                                                                         |
|   Why offset by 60 deg?                                                |
|   - Complementary (70 deg) is useful for syntax highlighting           |
|   - Offsetting targets less-used greens instead                        |
|   - Preserves important yellow-green contrasts                         |
|                                                                         |
+-------------------------------------------------------------------------+
+-------------------------------------------------------------------------+
|   pullWidth: 0-180 degrees                                             |
|   ========================                                              |
|                                                                         |
|   Half-width of the Caustic zone.                                      |
|                                                                         |
|   pullWidth = 60 deg (narrow)                                          |
|   |<--- 60 --->|<--- 60 --->|                                          |
|   [            ZONE           ]                                         |
|                ^ center                                                 |
|                                                                         |
|   pullWidth = 90 deg (default)                                         |
|   |<-------- 90 ------->|<-------- 90 ------->|                        |
|   [                     ZONE                    ]                       |
|                         ^ center                                        |
|                                                                         |
|   pullWidth = 130 deg (wide)                                           |
|   |<----------- 130 ----------->|<----------- 130 ----------->|        |
|   [                             ZONE                            ]       |
|                                 ^ center                                |
|                                                                         |
|   Wider = more colors affected = stronger theme unity                  |
|                                                                         |
+-------------------------------------------------------------------------+
+-------------------------------------------------------------------------+
|   pullStrength: 0-100%                                                 |
|   ====================                                                  |
|                                                                         |
|   How much to compress colors in the zone.                             |
|                                                                         |
|     0% | No compression (bypass)                                       |
|    10% | Subtle harmony (default) <-- recommended                      |
|    30% | Noticeable, clear theme bias                                  |
|    50% | Strong, reduced color diversity                               |
|   100% | All zone colors collapse to center                            |
|                                                                         |
+-------------------------------------------------------------------------+
+-------------------------------------------------------------------------+
|   pullMode: 0, 1, or 2                                                 |
|   ====================                                                  |
|                                                                         |
|   Mode 0: NONE                                                         |
|   +------------------------------------------------------------+       |
|   | No transformation. Colors pass through unchanged.          |       |
|   +------------------------------------------------------------+       |
|                                                                         |
|   Mode 1: COMPRESS                                                     |
|   +------------------------------------------------------------+       |
|   | Hue-only compression. May cause discontinuities.           |       |
|   +------------------------------------------------------------+       |
|                                                                         |
|   Mode 2: COMPRESS + GRADIENT (default, recommended)                   |
|   +------------------------------------------------------------+       |
|   | Outside zone: Compress hues (smooth redistribution)        |       |
|   | Inside zone: OKLAB gradient (smooth transitions)           |       |
|   |                                                             |       |
|   | This prevents the "muddy middle" problem.                   |       |
|   +------------------------------------------------------------+       |
|                                                                         |
+-------------------------------------------------------------------------+

Group 4: Inherit Parameters

These control how much different UI elements inherit the theme’s anchor hue.
+-------------------------------------------------------------------------+
|                      INHERIT: HUE INHERITANCE                           |
+-------------------------------------------------------------------------+
|                                                                         |
|   How much each UI element takes on the theme's anchor hue.            |
|                                                                         |
|   +---------------------------------------------------------------+    |
|   | Parameter          | Default | What it affects               |    |
|   +--------------------+---------+-------------------------------+    |
|   | bgHueInherit       |   80%   | Background colors             |    |
|   | textHueInherit     |  100%   | Text colors                   |    |
|   | borderHueInherit   |   18%   | Border colors                 |    |
|   | ansiHueInherit     |    8%   | Normal ANSI (ls colors, etc)  |    |
|   | brightHueInherit   |    5%   | Bright ANSI colors            |    |
|   +---------------------------------------------------------------+    |
|                                                                         |
+-------------------------------------------------------------------------+
+-------------------------------------------------------------------------+
|                    INHERITANCE VISUALIZATION                            |
+-------------------------------------------------------------------------+
|                                                                         |
|   Anchor Hue: 250 deg (Blue)                                           |
|                                                                         |
|   BACKGROUND (80% inherit)                                             |
|   Original:  [  Gray  ] #1a1a1a                                        |
|   After:     [ Blue-ish] #1a1a2e (Strong theme color)                  |
|                                                                         |
|   TEXT (100% inherit)                                                  |
|   Original:  [  Gray  ] #f0f0f0                                        |
|   After:     [Blue-tint] #e8e8f0 (Fully unified with theme)            |
|                                                                         |
|   BORDER (18% inherit)                                                 |
|   Original:  [  Gray  ] #404040                                        |
|   After:     [Hint blue] #3e3e44 (Subtle theme hint)                   |
|                                                                         |
|   ANSI RED (8% inherit)                                                |
|   Original:  [  Red   ] #ff0000                                        |
|   After:     [  Red   ] #fd0008 (Almost unchanged - semantic preserved)|
|                                                                         |
+-------------------------------------------------------------------------+

Why ANSI Colors Have Low Inheritance

ANSI colors carry meaning. Red means error. Green means success. High inheritance would destroy this.
+-------------------------------------------------------------------------+
|                    ANSI LOW INHERITANCE REASON                          |
+-------------------------------------------------------------------------+
|                                                                         |
|   Terminal output with semantic colors:                                 |
|                                                                         |
|   $ git status                                                          |
|   modified:   [GREEN] src/app.rs     <-- GREEN = staged                 |
|   deleted:    [RED] old-file.txt     <-- RED = deleted                  |
|                                                                         |
|   $ npm test                                                            |
|   [GREEN] 42 tests passed            <-- GREEN = success                |
|   [RED] 3 tests failed               <-- RED = failure                  |
|                                                                         |
|   If ansiHueInherit was high (e.g., 80%):                              |
|   - Red would shift toward blue (becomes purple)                        |
|   - Green would shift toward blue (becomes cyan)                        |
|   - You lose the semantic meaning!                                      |
|                                                                         |
|   Solution: 8% inherit for normal, 5% for bright                       |
|   - Just a subtle theme hint                                            |
|   - Semantic colors 92-95% preserved                                    |
|   - Theme harmony handled by Einstein Arc instead                       |
|                                                                         |
+-------------------------------------------------------------------------+

Theme Strategy Patterns

Different themes use different inheritance strategies.
+-------------------------------------------------------------------------+
|                      INHERITANCE STRATEGY PATTERNS                      |
+-------------------------------------------------------------------------+
|                                                                         |
|   PATTERN A: Full Integration (monolex-night)                          |
|   +---------------------------------------------------------------+    |
|   | bgHueInherit: 80%    | Strong theme in background            |    |
|   | textHueInherit: 100% | Fully unified text                    |    |
|   | ansiHueInherit: 8%   | ANSI preserved                        |    |
|   |                                                               |    |
|   | Result: Very cohesive, strongly themed experience             |    |
|   +---------------------------------------------------------------+    |
|                                                                         |
|   PATTERN B: Selective (monolex-forest)                                |
|   +---------------------------------------------------------------+    |
|   | bgHueInherit: 0%     | Background already green, don't add   |    |
|   | textHueInherit: 100% | Text unified with theme                |    |
|   | ansiHueInherit: 15%  | Slightly more harmony                  |    |
|   |                                                               |    |
|   | Result: Natural green background, unified text                |    |
|   +---------------------------------------------------------------+    |
|                                                                         |
|   PATTERN C: Pure (standard/xterm)                                     |
|   +---------------------------------------------------------------+    |
|   | bgHueInherit: 0%     | No theme color                        |    |
|   | textHueInherit: 0%   | No theme color                        |    |
|   | ansiHueInherit: 0%   | No theme color                        |    |
|   |                                                               |    |
|   | Result: Pure xterm-compatible colors, no transformation       |    |
|   +---------------------------------------------------------------+    |
|                                                                         |
+-------------------------------------------------------------------------+

Theme Configuration Examples

+-------------------------------------------------------------------------+
|                     EXAMPLE THEME CONFIGURATIONS                        |
+-------------------------------------------------------------------------+
|                                                                         |
|   MONOLEX NIGHT (Blue, Full Integration)                               |
|   +---------------------------------------------------------------+    |
|   | tintHue: 250            tintStrength: 10    tintChroma: 0.02 |    |
|   | darkAnchorHue: 250      darkAnchorChroma: 0.02               |    |
|   | bgHueInherit: 80        textHueInherit: 100                  |    |
|   +---------------------------------------------------------------+    |
|                                                                         |
|   SOLARIZED DARK (Cyan Accent)                                         |
|   +---------------------------------------------------------------+    |
|   | tintHue: 200            tintStrength: 15    tintChroma: 0.03 |    |
|   | darkAnchorHue: 200      darkAnchorChroma: 0.03               |    |
|   +---------------------------------------------------------------+    |
|                                                                         |
|   DRACULA (No Tinting, Original Colors)                                |
|   +---------------------------------------------------------------+    |
|   | tintHue: 250            tintStrength: 0     tintChroma: 0    |    |
|   | darkAnchorHue: 250      darkAnchorChroma: 0.02               |    |
|   +---------------------------------------------------------------+    |
|                                                                         |
+-------------------------------------------------------------------------+

Key Takeaways

  1. TINT - Adds color overlay (like tinted glass)
  2. ANCHOR - Defines theme identity (the “home” color)
  3. ARC - Controls Einstein Arc (how complementary colors bend)
  4. INHERIT - How much UI elements adopt theme color
All parameters use human-friendly units: degrees (0-360) and percentages (0-100%).

Einstein Arc

Learn how the Einstein Arc algorithm bends colors