mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-13 01:02:18 -04:00
keybinds: dont pass dirs
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/keybinds"
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/keybinds"
|
||||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/keybinds/providers"
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/keybinds/providers"
|
||||||
@@ -82,29 +83,35 @@ func init() {
|
|||||||
func initializeProviders() {
|
func initializeProviders() {
|
||||||
registry := keybinds.GetDefaultRegistry()
|
registry := keybinds.GetDefaultRegistry()
|
||||||
|
|
||||||
hyprlandProvider := providers.NewHyprlandProvider("$HOME/.config/hypr")
|
hyprlandProvider := providers.NewHyprlandProvider("")
|
||||||
if err := registry.Register(hyprlandProvider); err != nil {
|
if err := registry.Register(hyprlandProvider); err != nil {
|
||||||
log.Warnf("Failed to register Hyprland provider: %v", err)
|
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 {
|
if err := registry.Register(mangowcProvider); err != nil {
|
||||||
log.Warnf("Failed to register MangoWC provider: %v", err)
|
log.Warnf("Failed to register MangoWC provider: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
scrollProvider := providers.NewSwayProvider("$HOME/.config/scroll")
|
configDir, _ := os.UserConfigDir()
|
||||||
if err := registry.Register(scrollProvider); err != nil {
|
|
||||||
log.Warnf("Failed to register Scroll provider: %v", err)
|
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 {
|
if err := registry.Register(miracleProvider); err != nil {
|
||||||
log.Warnf("Failed to register Miracle WM provider: %v", err)
|
log.Warnf("Failed to register Miracle WM provider: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
swayProvider := providers.NewSwayProvider("$HOME/.config/sway")
|
if configDir != "" {
|
||||||
if err := registry.Register(swayProvider); err != nil {
|
swayProvider := providers.NewSwayProvider(filepath.Join(configDir, "sway"))
|
||||||
log.Warnf("Failed to register Sway provider: %v", err)
|
if err := registry.Register(swayProvider); err != nil {
|
||||||
|
log.Warnf("Failed to register Sway provider: %v", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
niriProvider := providers.NewNiriProvider("")
|
niriProvider := providers.NewNiriProvider("")
|
||||||
|
|||||||
@@ -19,8 +19,6 @@ func NewMiracleProvider(configPath string) *MiracleProvider {
|
|||||||
configDir, err := os.UserConfigDir()
|
configDir, err := os.UserConfigDir()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
configPath = filepath.Join(configDir, "miracle-wm")
|
configPath = filepath.Join(configDir, "miracle-wm")
|
||||||
} else {
|
|
||||||
configPath = "$HOME/.config/miracle-wm"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return &MiracleProvider{configPath: configPath}
|
return &MiracleProvider{configPath: configPath}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package providers
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/keybinds"
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/keybinds"
|
||||||
@@ -18,11 +19,19 @@ func NewSwayProvider(configPath string) *SwayProvider {
|
|||||||
_, scrollEnvSet := os.LookupEnv("SCROLLSOCK")
|
_, scrollEnvSet := os.LookupEnv("SCROLLSOCK")
|
||||||
|
|
||||||
if configPath == "" {
|
if configPath == "" {
|
||||||
|
configDir, err := os.UserConfigDir()
|
||||||
|
if err != nil {
|
||||||
|
configDir = ""
|
||||||
|
}
|
||||||
if scrollEnvSet {
|
if scrollEnvSet {
|
||||||
configPath = "$HOME/.config/scroll"
|
if configDir != "" {
|
||||||
|
configPath = filepath.Join(configDir, "scroll")
|
||||||
|
}
|
||||||
isScroll = true
|
isScroll = true
|
||||||
} else {
|
} else {
|
||||||
configPath = "$HOME/.config/sway"
|
if configDir != "" {
|
||||||
|
configPath = filepath.Join(configDir, "sway")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
isScroll = strings.Contains(configPath, "scroll")
|
isScroll = strings.Contains(configPath, "scroll")
|
||||||
|
|||||||
@@ -15,8 +15,13 @@ func TestSwayProviderName(t *testing.T) {
|
|||||||
|
|
||||||
func TestSwayProviderDefaultPath(t *testing.T) {
|
func TestSwayProviderDefaultPath(t *testing.T) {
|
||||||
provider := NewSwayProvider("")
|
provider := NewSwayProvider("")
|
||||||
if provider.configPath != "$HOME/.config/sway" {
|
configDir, err := os.UserConfigDir()
|
||||||
t.Errorf("configPath = %q, want %q", provider.configPath, "$HOME/.config/sway")
|
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user