1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-06 05:25:41 -05:00

cli: fix greeter enable, and color sync

This commit is contained in:
bbedward
2025-11-13 13:21:18 -05:00
parent b62ba69060
commit 201bd8dc1f
4 changed files with 20 additions and 8 deletions

View File

@@ -277,9 +277,9 @@ func enableGreeter() error {
} }
} }
wrapperCmd := "dms-greeter" wrapperCmd, err := findCommandPath("dms-greeter")
if !commandExists("dms-greeter") { if err != nil {
wrapperCmd = "/usr/local/bin/dms-greeter" return fmt.Errorf("dms-greeter not found in PATH. Please ensure it is installed and accessible")
} }
compositorLower := strings.ToLower(selectedCompositor) compositorLower := strings.ToLower(selectedCompositor)
@@ -444,7 +444,7 @@ func checkGreeterStatus() error {
desc: "Session state", desc: "Session state",
}, },
{ {
source: filepath.Join(homeDir, ".cache", "quickshell", "dankshell", "dms-colors.json"), source: filepath.Join(homeDir, ".cache", "DankMaterialShell", "dms-colors.json"),
target: filepath.Join(cacheDir, "colors.json"), target: filepath.Join(cacheDir, "colors.json"),
desc: "Color theme", desc: "Color theme",
}, },

View File

@@ -1,12 +1,24 @@
package main package main
import "os/exec" import (
"fmt"
"os/exec"
)
func commandExists(cmd string) bool { func commandExists(cmd string) bool {
_, err := exec.LookPath(cmd) _, err := exec.LookPath(cmd)
return err == nil return err == nil
} }
// findCommandPath returns the absolute path to a command in PATH
func findCommandPath(cmd string) (string, error) {
path, err := exec.LookPath(cmd)
if err != nil {
return "", fmt.Errorf("command '%s' not found in PATH", cmd)
}
return path, nil
}
func isArchPackageInstalled(packageName string) bool { func isArchPackageInstalled(packageName string) bool {
cmd := exec.Command("pacman", "-Q", packageName) cmd := exec.Command("pacman", "-Q", packageName)
err := cmd.Run() err := cmd.Run()

View File

@@ -342,7 +342,7 @@ func SyncDMSConfigs(dmsPath string, logFunc func(string), sudoPassword string) e
desc: "state (wallpaper configuration)", desc: "state (wallpaper configuration)",
}, },
{ {
source: filepath.Join(homeDir, ".cache", "quickshell", "dankshell", "dms-colors.json"), source: filepath.Join(homeDir, ".cache", "DankMaterialShell", "dms-colors.json"),
target: filepath.Join(cacheDir, "colors.json"), target: filepath.Join(cacheDir, "colors.json"),
desc: "wallpaper based theming", desc: "wallpaper based theming",
}, },

View File

@@ -46,8 +46,8 @@ setfacl -m u:greeter:x ~ ~/.config ~/.local ~/.cache ~/.local/state
# Set group ownership on config directories # Set group ownership on config directories
sudo chgrp -R greeter ~/.config/DankMaterialShell sudo chgrp -R greeter ~/.config/DankMaterialShell
sudo chgrp -R greeter ~/.local/state/DankMaterialShell sudo chgrp -R greeter ~/.local/state/DankMaterialShell
sudo chgrp -R greeter ~/.cache/quickshell sudo chgrp -R greeter ~/.cache/DankMaterialShell
sudo chmod -R g+rX ~/.config/DankMaterialShell ~/.local/state/DankMaterialShell ~/.cache/quickshell sudo chmod -R g+rX ~/.config/DankMaterialShell ~/.cache/DankMaterialShell ~/.cache/quickshell
# Create symlinks # Create symlinks
sudo ln -sf ~/.config/DankMaterialShell/settings.json /var/cache/dms-greeter/settings.json sudo ln -sf ~/.config/DankMaterialShell/settings.json /var/cache/dms-greeter/settings.json