Changed Default gui mode
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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{},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user