mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-11 17:26:57 +02:00
- module github.com/R0m1k3/Loki, cmd/loki, internal/loki (package loki) - LOKI_HOME, LOKI_MODEL_DIRS, LOKI_SERVICE, LOKI_DL_CONNS ; /etc/loki ; units loki-engine / loki-ui ; binaire et aide CLI - updateRepo pointe sur R0m1k3/Loki (l'auto-update ne tirera plus les binaires AJEAN amont) Conservé à l'identique : le domaine ajean.link (service de tunnel amont), les littéraux de migration 0.7.x (migrate_07.go), RELEASE_NOTES.md et LICENSE (historique et licence de l'amont). go build/vet/test : verts.
40 lines
1.2 KiB
Go
40 lines
1.2 KiB
Go
// gen-icon écrit cmd/loki/icon.ico à partir de l'icône de marque dessinée dans
|
|
// internal/loki (sys_brand_icon.go), pour que l'icône du .exe soit toujours la
|
|
// même que le favicon de l'UI et que celle de la zone de notification.
|
|
//
|
|
// Lancé par `go generate ./cmd/loki`, AVANT goversioninfo qui embarque le .ico
|
|
// dans les ressources Windows.
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strings"
|
|
|
|
"github.com/R0m1k3/Loki/internal/loki"
|
|
)
|
|
|
|
func main() {
|
|
out := "icon.ico"
|
|
if len(os.Args) > 1 {
|
|
out = os.Args[1]
|
|
}
|
|
// Les tailles attendues par l'explorateur Windows, de la barre des tâches à
|
|
// l'aperçu en grandes icônes.
|
|
write(out, loki.BrandICO(16, 32, 48, 64, 128, 256))
|
|
|
|
// PNG 1024 pour le bundle macOS : la CI en tire le .icns via sips/iconutil.
|
|
// Elle partait auparavant du .ico, ce qui suppose que sips sache lire un ICO —
|
|
// et l'échec y est masqué par « || true », donc une app Mac sans icône passait
|
|
// inaperçue. Un PNG ne laisse aucune place au doute.
|
|
write(strings.TrimSuffix(out, ".ico")+".png", loki.BrandIconPNG(1024))
|
|
}
|
|
|
|
func write(path string, data []byte) {
|
|
if err := os.WriteFile(path, data, 0o644); err != nil {
|
|
fmt.Fprintln(os.Stderr, "gen-icon:", err)
|
|
os.Exit(1)
|
|
}
|
|
fmt.Println("OK ->", path)
|
|
}
|