読者です 読者をやめる 読者になる 読者になる

you know something?

Use it for myself.

flickr で日替わりデスクトップ (除く Windows かな?)

PC

Xorg/awesome wm bug?

 

ふとした拍子に、デスクトップの壁紙が毎回同じコトが気になり始めてしまったので、1回/日、画像 1枚をネットから取得するコトに。

となれば、Google 先生から頂だいするのが順当でしょうが、最近の先生と申せば、随分とおケチにお成り遊ばされたので、このブログでもお世話になっている flickr さんから頂くコトにしました。

1. API キーを取得

下記 URL を参考に先ずは API キーを取得します。

syncer.jp

2. 画像をダウンロードするスクリプトを作成

次に、取得した API キーを使って画像をダウンロードするスクリプトを書きます。

# 保存ファイル名 (background) はお好きに
FILE_NAME="background"

# 当日中にダウンロード済みか否か確認
WALL_PAPERS="`find ${HOME} -name ${FILE_NAME}.png -ctime 0`"

# flickr の api パラメータ
BASE="https://api.flickr.com/services/rest"
# 画像検索
METHOD="method=flickr.photos.search"
# 取得した API キー
API_KEY="api_key=[取得した API キー]"
# 欲しい画像に含まれるキーワード
TEXT="text=maldives"
# 写真のみ
MEDIA="media=photos"
# オリジナルサイズで
EXTRAS="extras=url_o"
# 1枚のみ
PER_PAGE="per_page=1"

URL="${BASE}?${METHOD}&${API_KEY}&${TEXT}&${MEDIA}&${EXTRAS}&${PER_PAGE}"

# 当日中にダウンロード済みであれば、flickr にはアクセスしない
if [ -z "${WALL_PAPERS}" ]; then
    # 1枚なので for は不要だが、将来の複数枚への対応の可能性を考慮して
    for i in `wget "${URL}" -O - | xmllint --xpath "/rsp/photos/photo/@url_o" -`; do
        wget `echo $i | cut -d '"' -f 2` -O ${WALL_DIR}/${FILE_NAME}.jpg && \
        # 私の WM (Awesome) は何故か png 形式しか表示してくれないので、予め変換
        convert ${WALL_DIR}/${FILE_NAME}.jpg ${WALL_DIR}/${FILE_NAME}.png
    done
fi

私はこれを .xinitrc に追記して、awesome を起動するようにしています。

これで、毎日 flickr にアップされているモルディブの最も最新の写真が壁紙として表示されるようになります。あ~スッキリしたw

 

“人生という冒険は続く”
from STAR DRIVER 輝きのタクト

広告を非表示にする
© toomores_such