1--- a/bridge/bridge.go 2025-05-13 07:36:58.578038227 +0000
2+++ b/bridge/bridge.go 2025-05-13 07:39:01.667180229 +0000
3@@ -41,13 +41,13 @@
4 }
5
6 func CreateApp(fs embed.FS) *App {
7- exePath, err := os.Executable()
8- if err != nil {
9- panic(err)
10+ Env.AppName = "GUI.for.SingBox"
11+ xdgDataHome := os.Getenv("XDG_DATA_HOME")
12+ if xdgDataHome == "" {
13+ homeDir, _ := os.UserHomeDir()
14+ xdgDataHome = filepath.Join(homeDir, ".local", "share")
15 }
16-
17- Env.BasePath = filepath.Dir(exePath)
18- Env.AppName = filepath.Base(exePath)
19+ Env.BasePath = filepath.Join(xdgDataHome, Env.AppName)
20
21 if slices.Contains(os.Args, "tasksch") {
22 Env.FromTaskSch = true
23@@ -76,7 +76,7 @@
24 }
25
26 func (a *App) RestartApp() FlagResult {
27- exePath := Env.BasePath + "/" + Env.AppName
28+ exePath := "@basepath@/bin" + "/" + Env.AppName
29
30 cmd := exec.Command(exePath)
31 SetCmdWindowHidden(cmd)