bing-wallpaper-changer is a cross-platform compatible wallpaper-changer (CLI).
It fetches the newest Bing wallpaper and sets it as a desktop background image. Custom watermark can be used on the downloaded image. GCP support for the translation and text2speech is provided as well. Done just for fun 😄
- Crawl and fetch newest Bind wallpaper
- Support multiple regions
- Support multiple screen resolutions (😡 UltraHD is broken on the Bing side)
- Download wallpapers up to seven days in the past
- Draw title on wallpapers
- Support Google Cloud Translation Service for translation to English
- Support Google Cloud Text2Speech Service for accessibility (playing the sound on darwin and linux only if compiled with CGO)
- Place QR code for the copyright links
- Draw watermarks
- Scale down/up to match the resolution of the wallpaper
- Rotate if necessary (only clockwise rotation by 90° supported)
- Dim wallpaper to enable dark-mode setting
- System tray interface (available on darwin and linux only if compiled with CGO)
- REST Interface to alter configuration programmatically (dark-mode setup via HTTP request)
- Requires
libasound2-dev
,libx11-dev
orxorg-dev
orlibX11-devel
(on Ubuntu/Debian),alsa-lib-devel
(on RedHat/Fedora)
- Requires CGO,
AudioToolbox.framework
(but it is automatically linked)
- No additional requirements
$ bing-wallpaper-changer -h
>
>Usage of bing-wallpaper-changer:
>
>Flags:
>
> --api-port int the port number of the API server (default 44244)
> --daemon run the application as a daemon process
> --day Enum[types.Day] the day to fetch the wallpaper for, allowed values are: today, 1 days ago, 2 days ago, 3 days ago, 4 days ago, 5 days ago, 6 days ago, 7 days ago (default today)
> --debug enable debug mode
> --description draw the description on the wallpaper (default true)
> --dim-image float dim the image by the given percentage (0.0 to 100.0) (default 0.00)
> --download-directory string the directory to download the wallpaper to (default "~/Pictures/BingWallpapers")
> --download-only download the wallpaper only
> --furigana-api-app-id string the Goo Labs API App ID (labs.goo.ne.jp) for the furigana service, if not provided, Jisho.org (if available) or github.com/sarumaj/go-kakasi will be used
> --google-app-credentials string the path to the Google App credentials file for the translation service for pt-BR, fr-CA, zh-CN, fr-FR, de-DE, it-IT, hi-IN, ja-JP, es-ES to en-US,
> if not provided, the translation service will not be used
> --mode Enum[core.Mode] the mode of the wallpaper, allowed values are: [center crop fit span stretch tile] (default fit)
> --qrcode draw the QR code on the wallpaper (default true)
> --region Enum[types.Region] the region to fetch the wallpaper for, allowed values are: pt-BR, en-CA, fr-CA, zh-CN, fr-FR, de-DE, it-IT, hi-IN, ja-JP, en-NZ, es-ES, en-ROW, en-GB, en-US (default de-DE)
> --resolution Enum[types.Resolution] the resolution of the wallpaper, allowed values are: 1366x768 (SD), 1920x1080 (HD), 3840x2160 (UHD) (default 1920x1080)
> --rotate-counter-clockwise rotate the watermark counter-clockwise if necessary (default is clockwise)
> --use-google-text2speech-service use the Google Text2Speech service to record and play the audio description (not supported on darwin, and linux unless compiled with cgo)
> --use-google-translate-service use the Google Translate service to translate the description to English
> --watermark string draw the watermark on the wallpaper (default "sarumaj.png")
>
Using default parameters:
Using small PNG watermark: red-dot.png
Using vertical (portrait-mode) PNG watermark: car.png
Using default parameters with region set to ja-JP
: