# TANINUX → eww: Akzent-Integration (Handoff)

**Für die Instanz, die an `~/eww` arbeitet.** Diese Datei ist der Vertrag, wie
die eww-Bar ihren Akzent von der TANINUX-Appearance-App bekommt.

---

## TL;DR (Kurzanleitung)

1. **Lies** `~/.local/share/taninux/gui.json`.
2. **Nimm** das Feld `accent_hex` (fertiger Hex-String, z. B. `#8aac8b`).
3. **Setz** damit deine eww-Akzentvariablen (`$accent`, `$accent-dim`, die
   `$accent-08/14/22`-Washes) und mach `eww reload`.
4. **Reagiere auf Änderungen**: watch die Datei (inotify) — TANINUX schreibt sie
   bei jedem Akzent-Wechsel neu.

Das war's. Der Rest hier ist Detail/Begründung.

---

## Quelle der Wahrheit

**Datei:** `~/.local/share/taninux/gui.json`
(exakt: `$XDG_DATA_HOME/taninux/gui.json`, Fallback `~/.local/share/...`)

**Schema:**
```json
{
  "version": 1,
  "color_scheme": "dark",
  "accent": "take",
  "accent_hex": "#8aac8b",
  "accent_label": "Take · green"
}
```

| Feld           | Bedeutung                                                        |
|----------------|------------------------------------------------------------------|
| `accent_hex`   | **Das relevante Feld.** Fertiger Hex des gewählten Fuji-Akzents. |
| `accent`       | interner Key (`ume`/`shinkai`/`take`/`chikyu`/`beni`).           |
| `accent_label` | menschlicher Name, nur fürs Anzeigen.                            |
| `color_scheme` | `system` / `light` / `dark` — **NICHT für deinen Akzent nötig**, siehe unten. |

Die Datei existiert erst, nachdem in TANINUX einmal ein Setting geändert wurde.
Wenn sie fehlt: Default-Akzent `ume` / `#8f8aac` annehmen.

---

## Was du in eww damit machst

Deine `~/eww/eww.scss` hat oben den Variablenblock. Akzent-relevant sind:

```scss
$accent:     #a39ec4;   // bright
$accent-dim: #8f8aac;   // muted   ← entspricht direkt accent_hex
$accent-08: rgba(163, 158, 196, 0.08);
$accent-14: rgba(163, 158, 196, 0.14);
$accent-22: rgba(163, 158, 196, 0.22);
$acc-l:     $accent-dim;
```

`accent_hex` ist der **gedämpfte** Fuji-Ton (= dein bisheriges `$accent-dim`).
Mapping-Vorschlag:

- `$accent-dim` = `accent_hex` (1:1)
- `$accent`     = `accent_hex` ~18 % Richtung Weiß aufgehellt (bright)
- `$accent-08/14/22` = `rgba(R, G, B, 0.08/0.14/0.22)` aus den RGB von `accent_hex`
  (oder vom bright — wie es bei dir besser aussieht)

In SCSS kannst du das selbst ableiten, ohne die bright-Werte vorzuberechnen:
```scss
$accent-dim: #8aac8b;                 // = accent_hex aus gui.json
$accent:     lighten($accent-dim, 8%);
$accent-08:  rgba($accent-dim, 0.08);
$accent-14:  rgba($accent-dim, 0.14);
$accent-22:  rgba($accent-dim, 0.22);
```
Du musst also nur **eine Zeile** (`$accent-dim`) aus `gui.json` regenerieren.

### Die 5 Fuji-Akzente (falls du sie vorab kennen willst)

| key       | label            | accent_hex (dim) | bright (Referenz) |
|-----------|------------------|------------------|-------------------|
| `ume`     | Ume · violet     | `#8f8aac`        | `#a39ec4`         |
| `shinkai` | Shinkai · blue   | `#8a98ac`        | `#9fabbb`         |
| `take`    | Take · green     | `#8aac8b`        | `#9fbba0`         |
| `chikyu`  | Chikyū · yellow  | `#aca98a`        | `#bbb89f`         |
| `beni`    | Beni · red       | `#ac8a8c`        | `#bb9fa1`         |

(Quelle der Hexes: `taninux/core/theme.py` — identisch zur TUI. `ume`-bright
entspricht deinem aktuellen `$accent`.)

---

## Hell/Dunkel — NICHT dein Akzent-Job

Das globale Hell/Dunkel läuft über `gsettings org.gnome.desktop.interface
color-scheme` (steht auf `prefer-dark`). TANINUX **steuert das nicht über
gui.json** und fasst es bewusst nicht an. Dein eww-Hell/Dunkel (`.light`-Klasse +
`-l`-Variablen) bleibt **vollständig deine Sache** — TANINUX mischt sich da nicht
ein. `color_scheme` in der JSON ist nur informativ; ignorier es für den Akzent.

---

## Reload-Trigger — bitte abstimmen

TANINUX schreibt `gui.json` bei jeder Änderung, ruft aktuell aber **kein
`eww reload`** auf. Zwei Optionen, einigt euch auf eine:

- **(A) eww-Seite watcht** `gui.json` (z. B. `inotifywait` / ein eww-`deflisten`
  / kleines Script) und macht selbst `eww reload`. → empfohlen, hält eww autark.
- **(B) TANINUX triggert** nach dem Schreiben `eww reload`. Sag Bescheid, dann
  baue ich das in den Appearance-`persist()` ein (best-effort, nur wenn eww läuft).

---

## Grenzen (wichtig)

- TANINUX fasst `~/eww/**` **nicht** an. Die scss-Verdrahtung machst du.
- TANINUX besitzt zusätzlich `~/.config/gtk-4.0/libadwaita.css` (globaler
  GTK4/libadwaita-Akzent via `@define-color`) — das ist für **GTK-Apps**, nicht
  für eww. Nicht damit verwechseln; eww liest `gui.json`.
