ページ 11

Puppy の壁紙をスクリプトで変更する

Posted: 15/11/20(金) 21:33
by サボり魔
ユーザーズカフェで「壁紙を自動的に入れ替える機能はないのか」という話が出ていたので、
Puppy の壁紙設定のプロセスを調べてみました。

ウィンドウマネージャの JWM に background タグが存在するので当初はそちらかと思ったのですが、実際のところは rox のピンボード設定を読み込むことで壁紙を設定するようです。

コード: 全て選択

#!/usr/bin/bash

images=/usr/share/backgrounds/*
while :
do
    for imagepath in $images; do
        sed -i "s%^\(.*<backdrop.*>\).*\(</backdrop>\)%\1${imagepath}\2%" /root/Choices/ROX-Filer/PuppyPin
        /usr/local/apps/ROX-Filer/AppRun -p /root/Choices/ROX-Filer/PuppyPin
        sleep 5
    done
done
5秒おきに壁紙が変更されます。停止したい場合はプロセスを kill してください。
tahr-6.0.2-CE と 571JP で動作確認。
  • 画像フォルダに画像ファイル以外が含まれてる
  • ファイル名にスペースがある
  • Stretched とか Fit とかの属性を使い分けたい
などの処理は適宜よろしくやってください。

しかしこの「backdrop」ってタグ名、どうにかならないものか。

Re: Puppy の壁紙をスクリプトで変更する

Posted: 15/11/20(金) 21:47
by damboard
せっかくトビたてたのに恐縮なのですが
スライドショーなら 壁紙の変更やRandom Wallpaper Changerでできます

tahr-6.0.4.1-JPをお試しください

Re: Puppy の壁紙をスクリプトで変更する

Posted: 15/11/20(金) 21:59
by サボり魔
damboard さんが書きました:Random Wallpaper Changerでできます
tahr-6.0.4.1-JPをお試しください
おお、そんなものがあるのですね。

tahr っていくつバージョンがあるんですかね??
正直なところ、バージョンが多すぎて5系以後のここ数年はついてゆけていません。

Re: Puppy の壁紙をスクリプトで変更する

Posted: 15/11/21(土) 00:21
by タロ兵衛
スクリプト凄いです。
あの行数で出来ちゃうって、毎度驚かされます
もしかすると「ランダム壁紙チェンジャー」もスクリプトにUIをかぶせた物なのかもしれませんね。

Re: Puppy の壁紙をスクリプトで変更する

Posted: 15/11/21(土) 19:29
by サボり魔
テキストエディタでちょいちょいといじればあれやこれやの動作を実現できるのが面白いところですね。
既存の機能がどのように動いてるのかも、Puppy はシェルスクリプトで実装されてるものが多いので(読む気力さえあれば)調べやすいです。

スクリプトで動かす方法を把握しておけば、CPU 温度が上がると寒色から暖色へとデスクトップ背景が変わるような遊びも実現できますし。
出来合いのソフトに全部お任せだと、できる範囲が限られてしまいますから。

hatahata さんが出してくれたこのお題、なかなか面白いパズルでした。 :)