mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-22 22:48:11 +02:00
v0.5.4 : app macOS Jean.app (clic = UI web + icone barre de menus)
- Jean.app publie par la CI (zip par archi) : ouverture depuis le Finder -> mode application, comme le double-clic sur jean.exe sous Windows - icone dans la barre de menus macOS (systray/Cocoa) avec Ouvrir/Quitter, bundle marque LSUIElement (pas d'icone Dock) - builds darwin deplacees sur un runner macOS (CGO requis pour Cocoa) - signature ad-hoc du bundle + icone .icns
This commit is contained in:
1 parent
2f1f40c604
commit
ac171e5461
12 files changed
+261
-75
No files matched your search
@@ -0,0 +1,36 @@
|
||||
//go:build darwin
|
||||
|
||||
package jean
|
||||
|
||||
// sys_console_darwin.go — détection du lancement « par clic » sous macOS.
|
||||
//
|
||||
// Sur macOS il n'y a pas d'équivalent d'AttachConsole : un binaire lancé depuis
|
||||
// le Finder hérite quand même de descripteurs stdout/stderr (vers les logs
|
||||
// système). Le signal fiable, c'est l'emplacement de l'exécutable : la release
|
||||
// publie un bundle Jean.app dont le binaire vit dans
|
||||
// Jean.app/Contents/MacOS/jean. Si on tourne depuis là, c'est un double-clic
|
||||
// dans le Finder → expérience « application » (UI web + navigateur), exactement
|
||||
// comme le double-clic sur jean.exe sous Windows.
|
||||
//
|
||||
// Le même binaire copié dans /usr/local/bin garde évidemment le comportement CLI.
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func setupConsole() bool {
|
||||
exe, err := os.Executable()
|
||||
if err != nil {
|
||||
return true
|
||||
}
|
||||
if p, err := filepath.EvalSymlinks(exe); err == nil {
|
||||
exe = p
|
||||
}
|
||||
// .../Jean.app/Contents/MacOS/jean
|
||||
if strings.HasSuffix(filepath.Dir(exe), "/Contents/MacOS") {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
Reference in new issue
Block a user