Changed Default gui mode

This commit is contained in:
2026-05-03 23:41:48 +02:00
parent 4a407bdbb0
commit cd3d9043fe
2 changed files with 34 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ import (
"os"
"os/exec"
"path/filepath"
"runtime"
"strings"
"time"
@@ -177,6 +178,20 @@ func runGUI(args []string) int {
return 2
}
cfg, err := config.Load(defaultConfigPath())
if err != nil {
fmt.Fprintln(os.Stderr, err)
return 1
}
// Check if Electron is preferred and available
if cfg.PreferElectron && runtime.GOOS == "linux" {
if err := tryElectronApp(); err == nil {
return 0
}
// Fall through to browser if Electron fails
}
if err := gui.Run(defaultConfigPath(), defaultStatePath(), !*noOpen); err != nil {
fmt.Fprintln(os.Stderr, err)
return 1
@@ -249,6 +264,23 @@ func defaultConfigPath() string {
return filepath.Join(configHome, "lazy-update-manager", "config.json")
}
func tryElectronApp() error {
// Try to find and launch the Electron app
cmd := exec.Command("npm", "start")
cmd.Stdout = nil
cmd.Stderr = nil
cmd.Stdin = nil
if err := cmd.Run(); err != nil {
// Try electron directly
cmd = exec.Command("electron", ".")
cmd.Stdout = nil
cmd.Stderr = nil
cmd.Stdin = nil
return cmd.Run()
}
return nil
}
func usage() {
fmt.Println(strings.TrimSpace(`
LazyUpdateManager - Update helper for Arch / Hyprland