Windows の壁紙に bing のトップ画像を利用する

Bing といえば、美麗な日替わりトップ画像である。
 これを Windows の壁紙に設定する「bingデスクトップ」というソフトウェアが、Microsoft からかつては提供されていた。
 が、今はダウンロードできない。
 いつのまにか配布を停止しているのである。

Dynamic Theme

bingデスクトップの代わりになるものが提供されているはず、と思ってだいぶググってしまったので、メモとしてここに書いておく。bing デスクトップの代わりになりそうなアプリはないわけではない、無数にある。
 筆者は「Dynamic Theme」というのを使ってみた。
 Microsoft Store で「Dynamic Theme」と検索すると出てくる。

Microsoft store

使いかたは、線で囲んだ箇所を bing に変更するだけだ。

dynamic theme 01

画像の保管場所は「Daily Bing Image」で設定できる。

dynamic theme 02

とりあえず、これはこれで満足。

Mac では

Mac で bing の壁紙を利用することも可能だ。
 App Store で「bing wallpaper」などと検索すれば何点かアプリが出てくる。

あるいは、

🔗 Bing Desktop を Mac に導入する方法 – Qiita

こういった方法や、

🔗 Bingの日替わり画像をデスクトップピクチャに設定『BingWallpaper』 | Macの手書き説明書

こういったアプリもあるらしい。

bing はわりあい気前よく、ソースにダウンロード先を記述してくれているので、シェルスクリプトでも設定できそうである。
 2020 年 3 月現在では、こんなのが考えられるかと思う。

📝 bing_wp.sh

#!/bin/zsh

bing_dir="$HOME/Pictures/bing"

img_url=$(curl 'https://www.bing.com/' | tr '>' '\n' | grep 'この画像をダウンロードできます' | tr ' ' '\n' | grep 'href' | sed -e 's/href="/https:\/\/www.bing.com/' -e 's/"//')

img_name=bing$(date +%Y%m%d).jpg

curl "$img_url" -o "$bing_dir"/"$img_name"

osascript -e 'tell application "Finder" to set desktop picture to POSIX file "'$(echo "$bing_dir"/"$img_name")'"'

osascript はアップルスクリプトを実行するものである。
 アップルスクリプトを用いればターミナルからデスクトップピクチャを変更できる。やり方は下記の記事で勉強させていただきました。

🔗 コマンドラインで壁紙を変更する【 macOS 】 – Qiita

上記のスクリプトを crontab とかで、0 時 1 分ごろに定期的に実行すればいい感じになるかもしれない。
 ただ cron は、Mac がスリープしていると時間がきても実行しないから、launchd のほうが有用か。

🔗 launchdで定期的にスクリプトを実行 – Qiita