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

+21
View File
@@ -28,6 +28,26 @@ import (
//go:embed all:web
var webFS embed.FS
// glyphen sind die Pixelraster aus web/glyphs.json. Der Schreibtisch holt sich
// dieselbe Datei selbst; die HoneyBar in einer fremden App kann das nicht — sie
// ist bewusst eine einzelne Datei ohne zweite Anfrage. Also reist das Raster
// mit der App-Liste mit. Eine Quelle, zwei Wege, kein Auseinanderlaufen.
var glyphen = ladeGlyphen()
func ladeGlyphen() map[string][]string {
b, err := webFS.ReadFile("web/glyphs.json")
if err != nil {
log.Printf("glyphs.json fehlt: %v", err)
return nil
}
var g map[string][]string
if err := json.Unmarshal(b, &g); err != nil {
log.Printf("glyphs.json unlesbar: %v", err)
return nil
}
return g
}
// Version ist die einzige Stelle, an der sie steht. build.sh liest sie hier aus
// und vergibt denselben Docker-Tag; die Oberfläche holt sie über /api/public.
// Vorher stand sie zusätzlich in os.js und lief mit den Image-Tags auseinander.
@@ -316,6 +336,7 @@ func (s *Server) handleApps(w http.ResponseWriter, r *http.Request, sub string)
writeJSON(w, http.StatusOK, map[string]any{
"apps": s.store.Apps(),
"settings": s.store.SettingsFor(sub),
"glyphs": glyphen,
})
}