package main import ( "log" "time" ) func slideshow(ch <-chan string) { dir := <-ch ticker := time.NewTicker(time.Duration(config.Duration) * time.Minute) go func() { for { img, err := pickRandomImage(dir) if err != nil { panic(err) } hyprpaperSet(img) select { case dir = <-ch: log.Println("directory set!") continue case <-ticker.C: continue } } }() }