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"
"os/exec" "os/exec"
"path/filepath" "path/filepath"
"runtime"
"strings" "strings"
"time" "time"
@@ -177,6 +178,20 @@ func runGUI(args []string) int {
return 2 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 { if err := gui.Run(defaultConfigPath(), defaultStatePath(), !*noOpen); err != nil {
fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, err)
return 1 return 1
@@ -249,6 +264,23 @@ func defaultConfigPath() string {
return filepath.Join(configHome, "lazy-update-manager", "config.json") 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() { func usage() {
fmt.Println(strings.TrimSpace(` fmt.Println(strings.TrimSpace(`
LazyUpdateManager - Update helper for Arch / Hyprland LazyUpdateManager - Update helper for Arch / Hyprland

View File

@@ -17,6 +17,7 @@ type Config struct {
NotificationsEnabled bool `json:"notifications_enabled"` NotificationsEnabled bool `json:"notifications_enabled"`
KeepTerminalOpen bool `json:"keep_terminal_open"` KeepTerminalOpen bool `json:"keep_terminal_open"`
ConfirmSelectedInstalls bool `json:"confirm_selected_installs"` ConfirmSelectedInstalls bool `json:"confirm_selected_installs"`
PreferElectron bool `json:"prefer_electron"`
IgnoredPackages []string `json:"ignored_packages"` IgnoredPackages []string `json:"ignored_packages"`
} }
@@ -31,6 +32,7 @@ func Default() Config {
NotificationsEnabled: true, NotificationsEnabled: true,
KeepTerminalOpen: true, KeepTerminalOpen: true,
ConfirmSelectedInstalls: true, ConfirmSelectedInstalls: true,
PreferElectron: true,
IgnoredPackages: []string{}, IgnoredPackages: []string{},
} }
} }