Symbole in beiden Leisten, aus einer Quelle

Die Pixelraster stehen jetzt in web/glyphs.json — einmal. Der Schreibtisch
laedt die Datei selbst, die HoneyBar bekommt sie mit der App-Liste mit;
sie bleibt damit eine einzelne Datei ohne zweite Anfrage. Die abgetippten
Wettersymbole in honeybar.js sind weg, und die Symbolauswahl im
Programm-Editor kommt jetzt aus derselben Datei statt aus einer Liste im
Quelltext.

Neu: Symbole neben den App-Namen im Streifen beider Leisten, mit einem
Schalter (Einstellungen -> HoneyBar) fuer beide zugleich. In den
Aufklappmenues und auf den Kacheln stehen sie immer.
This commit is contained in:
marc committed 2026-08-29 22:21:53 +02:00
1 parent d29b69a426
commit 53ab62d220
9 files changed
+395 -278

No files matched your search

+27 -1
View File
@@ -114,6 +114,31 @@ Gespeichert wird die Liste als Ganzes; der Server prüft sie noch einmal und ant
dem, was er wirklich behalten hat. Eine Adresse ohne `https://` kommt als Fehlermeldung
zurück, nicht als kaputter Eintrag.
## Ein Satz Symbole für alles
Die Pixelraster stehen **an genau einer Stelle**: `web/glyphs.json`, 12×12
Zeichen je Symbol, ein `#` ist ein Pixel. Der Schreibtisch holt die Datei
selbst; die HoneyBar in fremden Apps bekommt die Raster **mit der App-Liste
mitgeliefert** — sie soll eine einzelne Datei ohne zweite Anfrage bleiben, und
`/api/apps` fragt sie ohnehin. Wer dort ein Symbol ergänzt, kann es sofort im
Programm-Editor auswählen; abgetippt wird nichts mehr.
Dass das nötig war, hatte einen Anlass: Die Wettersymbole standen einmal in
`os.js` **und** in `honeybar.js`. Sie liefen auseinander, und niemand merkte es,
bis das Wetter in der einen Leiste anders aussah als in der anderen.
**Wo die Symbole stehen:**
| | Symbol |
|---|---|
| App-Streifen in beiden Leisten | nach Schalter *Einstellungen → HoneyBar* |
| Aufklappmenü beider Leisten | immer |
| Kacheln, Schreibtischsymbole, Startmenü | immer |
Der Schalter gilt für **beide** Leisten zugleich — es ist dieselbe Leiste, nur
an zwei Orten. Er liegt wie alles andere im Server, wirkt also auf jedem Gerät
und in jeder App, ohne dass eine App neu gebaut wird.
## Zwei Betriebsarten, ein Datenstand
| | Terminal-Modus | Desktop-Modus |
@@ -446,8 +471,9 @@ internal/
web/
index.html
css/style.css
glyphs.json die Pixelraster — die einzige Quelle, beide Leisten
js/core.js Zustand, Server, Einstellungen, Kleinkram
js/glyphs.js die Pixelsymbole
js/glyphs.js lädt die Raster und baut SVGs daraus
js/os.js die beiden Ansichten, Fenster, Dialoge
js/widgets/ ein Widget je Datei
honeybar/ die HoneyBar für fremde Seiten — bewusst eine Datei