diff --git a/config.go b/config.go index be0e7ec..fb009d7 100644 --- a/config.go +++ b/config.go @@ -47,9 +47,9 @@ func (config *Config) load() error { return err } //TODO: make parent directories if they don't exist - err = os.Mkdir(homeDir+".config", 755) + err = os.Mkdir(homeDir+"/.config", 755) if err != nil && !os.IsExist(err) { - log.Println("could not create .config directory") + log.Println("could not create .config directory", err) return err } err = os.Mkdir(configDir, 755) diff --git a/main.go b/main.go index 272bd43..4c0749e 100644 --- a/main.go +++ b/main.go @@ -27,8 +27,16 @@ func main() { waitGroup.Add(1) slideshowDir := make(chan string) - go server(slideshowDir) - go slideshow(slideshowDir) + func() { + defer func() { + if r := recover(); r != nil { + log.Println("Panic recovered at top level. Closing gracefully.", r) + cleanExit(1) + } + }() + go server(slideshowDir) + go slideshow(slideshowDir) + }() var dir string args := os.Args[1:] diff --git a/slideshow.go b/slideshow.go index 9605353..4a65764 100644 --- a/slideshow.go +++ b/slideshow.go @@ -44,7 +44,7 @@ func setRandomWallpaper(dir string) error { var mode string switch desktopEnv { case "cinnamon": - mode = "span" + mode = "zoom" case "hyprland": mode = "fit" default: