diff --git a/config.json b/config.json new file mode 100644 index 0000000..35f3eaa --- /dev/null +++ b/config.json @@ -0,0 +1,7 @@ +{ + +"colorize":[ 247,40,60 ], +"contrast":-35, +"gamma":0.8, +"root":"/home/andrzej/bgs" +} diff --git a/curr.png b/curr.png new file mode 100644 index 0000000..a3d32a8 Binary files /dev/null and b/curr.png differ diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..9b40d3f --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module go-img + +go 1.23.2 + +require github.com/disintegration/gift v1.2.1 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..89e5a54 --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +github.com/disintegration/gift v1.2.1 h1:Y005a1X4Z7Uc+0gLpSAsKhWi4qLtsdEcMIbbdvdZ6pc= +github.com/disintegration/gift v1.2.1/go.mod h1:Jh2i7f7Q2BM7Ezno3PhfezbR1xpUg9dUg3/RlKGr4HI= diff --git a/in.jpg b/in.jpg new file mode 100644 index 0000000..60e2199 Binary files /dev/null and b/in.jpg differ diff --git a/main.go b/main.go new file mode 100644 index 0000000..fc6d524 --- /dev/null +++ b/main.go @@ -0,0 +1,62 @@ +package main + +import ( + "encoding/json" + "fmt" + "log" + "os" +) + +func main() { + var err error + + config := loadConfig() + + //get working directory + wd, err := os.Getwd() + if err != nil { + log.Fatal("couldn't find working directory", err) + } + + curr := wd + "/curr.png" + // apply curr.png if already preloaded + err = hyprpaperWallpaper(curr) + if err != nil { + //preload curr.png if not + err = hyprpaperPreload(curr) + if err != nil { + fmt.Println("could not preload (this is fine)", err) + } + } + + dir := config.Root + "/chsck" + randomImg, _ := getRandomFile(dir) + img := loadImage(randomImg) + dst := processImage(img, config) + + saveImage("curr.png", dst) + + path := wd + "/curr.png" + err = hyprpaperPreload(path) + if err != nil { + log.Fatal("preload failed!", err) + } + err = hyprpaperWallpaper(path) + if err != nil { + log.Fatal("set wallpaper failed!", err) + } +} + +func loadConfig() Config { + configRaw, err := os.ReadFile("./config.json") + if err != nil { + log.Fatal("Couldn't open config file!", err) + } + + var config Config + err = json.Unmarshal(configRaw, &config) + if err != nil { + log.Fatal("Couldn't unmarshal config!", err) + } + return config +}