summary refs log tree commit diff stats
path: root/pkg
diff options
context:
space:
mode:
authorAndinus <andinus@inventati.org>2020-03-14 13:11:52 +0530
committerAndinus <andinus@inventati.org>2020-03-14 13:11:52 +0530
commitea8a01e9ae40f5478167abcf4563682adc77efb6 (patch)
treed1392b8cfe51d3105bc8bd3b84820de66488b8d9 /pkg
parent79f249d1db5843f2966330ddc75a8c71bb8a9ca0 (diff)
downloadcetus-ea8a01e9ae40f5478167abcf4563682adc77efb6.tar.gz
Add photoID support
photo-id flag can be used to set a specific photo as background
Diffstat (limited to 'pkg')
-rw-r--r--pkg/background.go2
-rw-r--r--pkg/unsplash/unsplash.go37
2 files changed, 39 insertions, 0 deletions
diff --git a/pkg/background.go b/pkg/background.go
index 44e455c..c6000ff 100644
--- a/pkg/background.go
+++ b/pkg/background.go
@@ -14,6 +14,8 @@
 
 package background
 
+import "os/exec"
+
 // Set calls feh to set the background
 func Set(path string) error {
 	feh, err := exec.LookPath("feh")
diff --git a/pkg/unsplash/unsplash.go b/pkg/unsplash/unsplash.go
new file mode 100644
index 0000000..3070716
--- /dev/null
+++ b/pkg/unsplash/unsplash.go
@@ -0,0 +1,37 @@
+// Copyright (c) 2020, Andinus <andinus@inventati.org>
+
+// Permission to use, copy, modify, and/or distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+package unsplash
+
+import (
+	"fmt"
+
+	"framagit.org/andinus/cetus/pkg"
+)
+
+// SetFromID sets background from Unsplash Photo ID
+func SetFromID(photoID string, width int, height int) error {
+	var (
+		path string
+		size string
+
+		err error
+	)
+
+	size = fmt.Sprintf("%sx%s", width, height)
+	path = fmt.Sprintf("%s/%s/%s", "https://source.unsplash.com", photoID, size)
+	err = background.Set(path)
+
+	return err
+}