nixpkgs/pkgs/by-name/gu/gui-for-clash/xdg-path-and-restart-patch.patch
2025-08-11 10:10:50 +08:00

32 lines
789 B
Diff

--- a/bridge/bridge.go
+++ b/bridge/bridge.go
@@ -41,13 +41,13 @@
}
func CreateApp(fs embed.FS) *App {
- exePath, err := os.Executable()
- if err != nil {
- panic(err)
+ Env.AppName = "GUI.for.Clash"
+ xdgDataHome := os.Getenv("XDG_DATA_HOME")
+ if xdgDataHome == "" {
+ homeDir, _ := os.UserHomeDir()
+ xdgDataHome = filepath.Join(homeDir, ".local", "share")
}
-
- Env.BasePath = filepath.Dir(exePath)
- Env.AppName = filepath.Base(exePath)
+ Env.BasePath = filepath.Join(xdgDataHome, Env.AppName)
if slices.Contains(os.Args, "tasksch") {
Env.FromTaskSch = true
@@ -76,7 +76,7 @@
}
func (a *App) RestartApp() FlagResult {
- exePath := Env.BasePath + "/" + Env.AppName
+ exePath := "@out@/bin" + "/" + Env.AppName
cmd := exec.Command(exePath)
SetCmdWindowHidden(cmd)