Farben einstellbar — und erst mal überhaupt eine Farbe

Das Grün, das überall auftauchte, war die System-Akzentfarbe: `.tint` und
`.accentColor` werden ohne eigene Angabe dorthin durchgereicht, und das
betraf alle Popovers und das ganze Einstellungsfenster. Die Notch-Widgets
dagegen benutzten Onyx' eigenes Blau. Zwei Farben, ungewollt.

Jetzt eine, und die ist einstellbar. Ein neuer Reiter „Farben": Akzentfarbe
mit sechs Vorschlägen und einem Knopf, der die Systemfarbe übernimmt, dazu
das Paar für Herunter- und Hochladen samt Tauschknopf.

Die Signalfarben bleiben fest und stehen nur zur Ansicht dort. Gelb heißt
Warnung, Rot heißt kritisch, Grün heißt in Ordnung — bei Temperatur, Akku,
Lüfter und Fehlern. Wer sie umstellen kann, kann ihre Bedeutung zerstören;
ein rotes „alles gut" liest niemand richtig. Sichtbar sind sie trotzdem,
sonst sucht man die Warnfarbe im Reiter und findet sie nirgends.

Umgesetzt über die Tokens statt über vierzig Fundstellen: `Onyx.Color.accent`
ist keine Konstante mehr, sondern liest bei jedem Zugriff aus `OnyxTheme`.
Damit merkt SwiftUI die Abhängigkeit und zeichnet neu, sobald die Farbe sich
ändert. Dazu ein `.tint` an den vier Wurzeln — Panel, Popovers, Einstellungen,
Einrichtung —, damit auch Haken, Regler und Auswahlfelder mitziehen.

Nebenbei die Beschriftung: „Je Programm" heißt jetzt „Programme". Großgesetzt
las sich das als englisches „J-E".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-08-13 23:24:40 +02:00
parent 7a3d2c1c39
commit 2aa60eedf9
20 changed files with 757 additions and 45 deletions

View File

@@ -141,6 +141,342 @@
}
}
},
"color.accent": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Farbe"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Colour"
}
}
}
},
"color.accent.hint": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Gilt überall, wo Onyx sich selbst zeichnet: Regler, Ringe, Abschnittstitel, Haken und Auswahl."
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Applies everywhere Onyx draws itself: sliders, dials, section headings, check marks and selection."
}
}
}
},
"color.adoptSystem": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Systemfarbe übernehmen"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Adopt system colour"
}
}
}
},
"color.download": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Herunterladen"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Download"
}
}
}
},
"color.fixed.critical": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Kritisch"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Critical"
}
}
}
},
"color.fixed.hint": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Diese drei bleiben, wie sie sind. Sie bedeuten etwas — bei Temperatur, Akku, Lüfter und Fehlern."
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "These three stay as they are. They carry meaning — for temperature, battery, fans and errors."
}
}
}
},
"color.fixed.positive": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "In Ordnung"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Normal"
}
}
}
},
"color.fixed.warning": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Warnung"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Warning"
}
}
}
},
"color.network.hint": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Welche Richtung grün ist und welche rosa, ist Gewohnheit — nicht Bedeutung."
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Which direction is green and which is pink is habit, not meaning."
}
}
}
},
"color.reset": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Auf Standard zurücksetzen"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Reset to defaults"
}
}
}
},
"color.section.accent": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Akzentfarbe"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Accent colour"
}
}
}
},
"color.section.fixed": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Feste Farben"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Fixed colours"
}
}
}
},
"color.section.network": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Netzwerk"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Network"
}
}
}
},
"color.suggestion.amber": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Bernstein"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Amber"
}
}
}
},
"color.suggestion.coral": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Koralle"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Coral"
}
}
}
},
"color.suggestion.lilac": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Flieder"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Lilac"
}
}
}
},
"color.suggestion.mint": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Minze"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Mint"
}
}
}
},
"color.suggestion.onyx": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Onyx-Blau"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Onyx blue"
}
}
}
},
"color.suggestion.slate": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Schiefer"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Slate"
}
}
}
},
"color.swap": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Richtungen tauschen"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Swap directions"
}
}
}
},
"color.upload": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Hochladen"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Upload"
}
}
}
},
"fans.approval.needed": {
"extractionState": "stale",
"localizations": {
@@ -2014,6 +2350,22 @@
}
}
},
"settings.tab.colors": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Farben"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Colours"
}
}
}
},
"settings.tab.display": {
"extractionState": "stale",
"localizations": {