mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-23 15:08:16 +02:00
Go: layout standard cmd/ + internal/ - tout le code dans internal/jean (package jean), cmd/jean = main() + ressources Windows (.syso/icone/versioninfo), ui/ demenage dans internal/jean/ui (go:embed inchange) ; racine GitHub epuree
This commit is contained in:
1 parent
79e8d322a9
commit
e3fe63ca24
68 files changed
+75
-62
No files matched your search
@@ -0,0 +1,39 @@
|
||||
//go:build windows
|
||||
|
||||
package jean
|
||||
|
||||
// sys_proc_windows.go — au double-clic, on relance Jean en processus DÉTACHÉ, sans
|
||||
// console. L'original (qui, lui, possède la console fraîche créée par Explorer)
|
||||
// se termine aussitôt, fermant sa console. Le nouveau process n'a aucune fenêtre
|
||||
// de console : il n'y a donc plus de « terminal noir » et plus rien à fermer qui
|
||||
// couperait le serveur. Seuls restent le splash puis l'icône de la zone de
|
||||
// notification.
|
||||
|
||||
import (
|
||||
"os"
|
||||
"os/exec"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
func relaunchDetachedApp() {
|
||||
const (
|
||||
detachedProcess = 0x00000008
|
||||
createNoWindow = 0x08000000
|
||||
createNewProcGrp = 0x00000200
|
||||
)
|
||||
exe, err := os.Executable()
|
||||
if err != nil {
|
||||
_ = cmdApp(nil) // repli : on lance quand même en place
|
||||
return
|
||||
}
|
||||
cmd := exec.Command(exe, "app")
|
||||
cmd.SysProcAttr = &syscall.SysProcAttr{
|
||||
HideWindow: true,
|
||||
CreationFlags: detachedProcess | createNoWindow | createNewProcGrp,
|
||||
}
|
||||
if err := cmd.Start(); err != nil {
|
||||
_ = cmdApp(nil)
|
||||
return
|
||||
}
|
||||
os.Exit(0) // ferme l'original → sa console disparaît ; le détaché continue
|
||||
}
|
||||
Reference in new issue
Block a user