عکس 1995parham
Fetch the wallpaper from Bing, Unsplash, etc.Go
موضوع‌ها
۰
فورک‌ها
۲
ستاره‌ها
۲۳
تاریخ ایجاد
۴ آذر ۱۳۹۴
آخرین بروزرسانی
۷ روز قبل
لایسنس
GNU General Public License v2.0

Go Si Mac

GitHub Workflow Status GitHub Workflow Status GitHub release (latest SemVer) GitHub Release Date

AUR package

Introduction

gosimac downloads Bing's daily wallpapers, Unsplash's random images, and etc. for you to have a beautiful wallpaper on your desktop whenever you want. Personally, I wrote this to have fun and help one of my friends who is not among us right now. 😞

Usage

Usage:
  GoSiMac [command]

Available Commands:
  bing        fetches images from https://bing.com
  help        Help about any command
  unsplash    fetches images from https://unsplash.org

Flags:
  -h, --help          help for GoSiMac
  -n, --number int    The number of photos to return (default 10)
  -p, --path string   A path to store the photos (default "/home/parham/Pictures/GoSiMac")
  -v, --version       version for GoSiMac

As an example, the following command downloads 10 images from unsplash while using Tehran as a search query.

export http_proxy="http://127.0.0.1:1080"
export https_proxy="http://127.0.0.1:1080"

gosimac u -q Tehran -n 10
set http_proxy "http://127.0.0.1:1080"
set https_proxy "http://127.0.0.1:1080"
$env:HTTP_PROXY = "http://127.0.0.1:1080"
$env:HTTPS_PROXY = "http://127.0.0.1:1080"

gosimac u -q Tehran -n 10

By default, gosimac stores images in $HOME/Pictures/GoSiMac.

Contribution

This module is highly customizable and new sources can easily add just by implementing source interface.

// Source represents source for image background.
type Source interface {
    Init() (int, error)                             // call once on source and return number of available images to fetch
    Name() string                                   // name of source in string format
    Fetch(index int) (string, io.ReadCloser, error) // fetch image from source
}

The Init method is called on initiation and returns number of available images to download. Then for each image Fetch is called and the result is stored at the user specific location. By implementing this interface you can create new sources for gosimac.