From f280cd9d3b9f2a4c131d3b17be5c940156855d1f Mon Sep 17 00:00:00 2001 From: bbedward Date: Mon, 16 Feb 2026 23:55:11 -0500 Subject: [PATCH] keybinds: dont pass dirs --- core/cmd/dms/commands_keybinds.go | 25 ++++++++++++------- core/internal/keybinds/providers/miracle.go | 2 -- core/internal/keybinds/providers/sway.go | 13 ++++++++-- core/internal/keybinds/providers/sway_test.go | 9 +++++-- 4 files changed, 34 insertions(+), 15 deletions(-) diff --git a/core/cmd/dms/commands_keybinds.go b/core/cmd/dms/commands_keybinds.go index b2de203e..cdb15ac0 100644 --- a/core/cmd/dms/commands_keybinds.go +++ b/core/cmd/dms/commands_keybinds.go @@ -4,6 +4,7 @@ import ( "encoding/json" "fmt" "os" + "path/filepath" "github.com/AvengeMedia/DankMaterialShell/core/internal/keybinds" "github.com/AvengeMedia/DankMaterialShell/core/internal/keybinds/providers" @@ -82,29 +83,35 @@ func init() { func initializeProviders() { registry := keybinds.GetDefaultRegistry() - hyprlandProvider := providers.NewHyprlandProvider("$HOME/.config/hypr") + hyprlandProvider := providers.NewHyprlandProvider("") if err := registry.Register(hyprlandProvider); err != nil { log.Warnf("Failed to register Hyprland provider: %v", err) } - mangowcProvider := providers.NewMangoWCProvider("$HOME/.config/mango") + mangowcProvider := providers.NewMangoWCProvider("") if err := registry.Register(mangowcProvider); err != nil { log.Warnf("Failed to register MangoWC provider: %v", err) } - scrollProvider := providers.NewSwayProvider("$HOME/.config/scroll") - if err := registry.Register(scrollProvider); err != nil { - log.Warnf("Failed to register Scroll provider: %v", err) + configDir, _ := os.UserConfigDir() + + if configDir != "" { + scrollProvider := providers.NewSwayProvider(filepath.Join(configDir, "scroll")) + if err := registry.Register(scrollProvider); err != nil { + log.Warnf("Failed to register Scroll provider: %v", err) + } } - miracleProvider := providers.NewMiracleProvider("$HOME/.config/miracle-wm") + miracleProvider := providers.NewMiracleProvider("") if err := registry.Register(miracleProvider); err != nil { log.Warnf("Failed to register Miracle WM provider: %v", err) } - swayProvider := providers.NewSwayProvider("$HOME/.config/sway") - if err := registry.Register(swayProvider); err != nil { - log.Warnf("Failed to register Sway provider: %v", err) + if configDir != "" { + swayProvider := providers.NewSwayProvider(filepath.Join(configDir, "sway")) + if err := registry.Register(swayProvider); err != nil { + log.Warnf("Failed to register Sway provider: %v", err) + } } niriProvider := providers.NewNiriProvider("") diff --git a/core/internal/keybinds/providers/miracle.go b/core/internal/keybinds/providers/miracle.go index f42d7e02..43fc58e1 100644 --- a/core/internal/keybinds/providers/miracle.go +++ b/core/internal/keybinds/providers/miracle.go @@ -19,8 +19,6 @@ func NewMiracleProvider(configPath string) *MiracleProvider { configDir, err := os.UserConfigDir() if err == nil { configPath = filepath.Join(configDir, "miracle-wm") - } else { - configPath = "$HOME/.config/miracle-wm" } } return &MiracleProvider{configPath: configPath} diff --git a/core/internal/keybinds/providers/sway.go b/core/internal/keybinds/providers/sway.go index 9ed41e33..93ceb73b 100644 --- a/core/internal/keybinds/providers/sway.go +++ b/core/internal/keybinds/providers/sway.go @@ -3,6 +3,7 @@ package providers import ( "fmt" "os" + "path/filepath" "strings" "github.com/AvengeMedia/DankMaterialShell/core/internal/keybinds" @@ -18,11 +19,19 @@ func NewSwayProvider(configPath string) *SwayProvider { _, scrollEnvSet := os.LookupEnv("SCROLLSOCK") if configPath == "" { + configDir, err := os.UserConfigDir() + if err != nil { + configDir = "" + } if scrollEnvSet { - configPath = "$HOME/.config/scroll" + if configDir != "" { + configPath = filepath.Join(configDir, "scroll") + } isScroll = true } else { - configPath = "$HOME/.config/sway" + if configDir != "" { + configPath = filepath.Join(configDir, "sway") + } } } else { isScroll = strings.Contains(configPath, "scroll") diff --git a/core/internal/keybinds/providers/sway_test.go b/core/internal/keybinds/providers/sway_test.go index 0b471e60..fd476d83 100644 --- a/core/internal/keybinds/providers/sway_test.go +++ b/core/internal/keybinds/providers/sway_test.go @@ -15,8 +15,13 @@ func TestSwayProviderName(t *testing.T) { func TestSwayProviderDefaultPath(t *testing.T) { provider := NewSwayProvider("") - if provider.configPath != "$HOME/.config/sway" { - t.Errorf("configPath = %q, want %q", provider.configPath, "$HOME/.config/sway") + configDir, err := os.UserConfigDir() + if err != nil { + t.Skip("UserConfigDir not available") + } + expected := filepath.Join(configDir, "sway") + if provider.configPath != expected { + t.Errorf("configPath = %q, want %q", provider.configPath, expected) } }