Skip to content

Fetch newest bing wallpaper and set it as background. Use NLP and Text2Speech GCP services for translation and accessibility.

License

Notifications You must be signed in to change notification settings

sarumaj/bing-wallpaper-changer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

test_and_report build_and_release Go Report Card Maintainability Test Coverage Go Reference Go version Release Release Date Commits since latest release Downloads (all assets, all releases) Downloads (all assets, latest release)


bing-wallpaper-changer

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 😄

Features

  • 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)

Platform specific notes

Linux

  • Requires libasound2-dev, libx11-dev or xorg-dev or libX11-devel (on Ubuntu/Debian), alsa-lib-devel (on RedHat/Fedora)

Darwin

  • Requires CGO, AudioToolbox.framework (but it is automatically linked)

Windows

  • No additional requirements

Usage

$ 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")
>

Examples

Default

Using default parameters:

Bing Wallpaper of the day with QR code, default watermark and title

Resized watermark

Using small PNG watermark: red-dot.png

Bing Wallpaper of the day with QR code, red-dot watermark and title

Rotated watermark

Using vertical (portrait-mode) PNG watermark: car.png

Bing Wallpaper of the day with QR code, car watermark and title

Fetching Bing wallpaper for the ja-JP region

Using default parameters with region set to ja-JP:

Bing Wallpaper of the day for ja-JP region with QR code, default watermark and title

About

Fetch newest bing wallpaper and set it as background. Use NLP and Text2Speech GCP services for translation and accessibility.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published