diff --git a/core/cmd/dms/commands_config.go b/core/cmd/dms/commands_config.go index e467ae49..ccb49e39 100644 --- a/core/cmd/dms/commands_config.go +++ b/core/cmd/dms/commands_config.go @@ -87,10 +87,7 @@ func runResolveInclude(cmd *cobra.Command, args []string) { } func checkHyprlandInclude(filename string) (IncludeResult, error) { - configDir, err := utils.ExpandPath("$HOME/.config/hypr") - if err != nil { - return IncludeResult{}, err - } + configDir := filepath.Join(utils.XDGConfigHome(), "hypr") targetPath := filepath.Join(configDir, "dms", filename) result := IncludeResult{} @@ -191,10 +188,7 @@ func hyprlandFindIncludeHyprlang(filePath, target string, processed map[string]b } func checkNiriInclude(filename string) (IncludeResult, error) { - configDir, err := utils.ExpandPath("$HOME/.config/niri") - if err != nil { - return IncludeResult{}, err - } + configDir := filepath.Join(utils.XDGConfigHome(), "niri") targetPath := filepath.Join(configDir, "dms", filename) result := IncludeResult{} @@ -270,10 +264,7 @@ func niriFindInclude(filePath, target string, processed map[string]bool) bool { } func checkMangoWCInclude(filename string) (IncludeResult, error) { - configDir, err := utils.ExpandPath("$HOME/.config/mango") - if err != nil { - return IncludeResult{}, err - } + configDir := filepath.Join(utils.XDGConfigHome(), "mango") targetPath := filepath.Join(configDir, "dms", filename) result := IncludeResult{} diff --git a/core/cmd/dms/commands_setup.go b/core/cmd/dms/commands_setup.go index 80fa367f..8637f0d5 100644 --- a/core/cmd/dms/commands_setup.go +++ b/core/cmd/dms/commands_setup.go @@ -235,9 +235,9 @@ func runSetupDmsConfig(name string) error { var dmsDir string switch compositor { case "niri": - dmsDir = filepath.Join(os.Getenv("HOME"), ".config", "niri", "dms") + dmsDir = filepath.Join(utils.XDGConfigHome(), "niri", "dms") case "hyprland": - dmsDir = filepath.Join(os.Getenv("HOME"), ".config", "hypr", "dms") + dmsDir = filepath.Join(utils.XDGConfigHome(), "hypr", "dms") } if err := os.MkdirAll(dmsDir, 0o755); err != nil { diff --git a/core/cmd/dms/commands_windowrules.go b/core/cmd/dms/commands_windowrules.go index c11d75c5..a19ab43c 100644 --- a/core/cmd/dms/commands_windowrules.go +++ b/core/cmd/dms/commands_windowrules.go @@ -4,6 +4,7 @@ import ( "encoding/json" "fmt" "os" + "path/filepath" "strings" "time" @@ -146,10 +147,7 @@ func runWindowrulesList(cmd *cobra.Command, args []string) { switch compositor { case "niri": - configDir, err := utils.ExpandPath("$HOME/.config/niri") - if err != nil { - log.Fatalf("Failed to expand niri config path: %v", err) - } + configDir := filepath.Join(utils.XDGConfigHome(), "niri") parseResult, err := providers.ParseNiriWindowRules(configDir) if err != nil { @@ -182,10 +180,7 @@ func runWindowrulesList(cmd *cobra.Command, args []string) { result.DMSStatus = parseResult.DMSStatus case "hyprland": - configDir, err := utils.ExpandPath("$HOME/.config/hypr") - if err != nil { - log.Fatalf("Failed to expand hyprland config path: %v", err) - } + configDir := filepath.Join(utils.XDGConfigHome(), "hypr") parseResult, err := providers.ParseHyprlandWindowRules(configDir) if err != nil { @@ -315,16 +310,10 @@ func runWindowrulesReorder(cmd *cobra.Command, args []string) { func getWindowRulesProvider(compositor string) windowrules.WritableProvider { switch compositor { case "niri": - configDir, err := utils.ExpandPath("$HOME/.config/niri") - if err != nil { - return nil - } + configDir := filepath.Join(utils.XDGConfigHome(), "niri") return providers.NewNiriWritableProvider(configDir) case "hyprland": - configDir, err := utils.ExpandPath("$HOME/.config/hypr") - if err != nil { - return nil - } + configDir := filepath.Join(utils.XDGConfigHome(), "hypr") return providers.NewHyprlandWritableProvider(configDir) default: return nil