From ea8a01e9ae40f5478167abcf4563682adc77efb6 Mon Sep 17 00:00:00 2001 From: Andinus Date: Sat, 14 Mar 2020 13:11:52 +0530 Subject: Add photoID support photo-id flag can be used to set a specific photo as background --- pkg/background.go | 2 ++ pkg/unsplash/unsplash.go | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 pkg/unsplash/unsplash.go (limited to 'pkg') 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 + +// 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 +} -- cgit 1.4.1-2-gfad0