2009年9月10日木曜日

icewmの壁紙を変える

icewmの壁紙は、~/.icewm/preferences 内の、
DesktopBackgroundImage="ほげほげ.jpg"
行を書き換えてあげればいいわけですが、その後、icewmを再起動しないと反映されません。
けっこう面倒くさいので、さくっとシェルスクリプトでやっちゃいましょう。

以下のシエルスクリプトを、icewmbg-changer.sh という名前で保存し、実行属性を付けてください。

#!/bin/sh
# -*- coding: utf-8 -*-
# last updated : 2009/09/07 03:46:02 JST
#
# icewm用壁紙チェンジャー
# 使い方。
# icewmbg-changer.sh /home/foo/picture/hogehoge.jpg
# 引数がない場合はファイルセレクタが立ち上がります。
# ファイラのコンテキストメニューなどに登録して使うと便利でしょう。

# icewmの設定ファイル。フルパスで。
pref='/home/ほげほげ/.icewm/preferences'
# 壁紙のあるディレクトリ。フルパスで。
WALLPAAPERS='/home/ほげほげ/MyPictures/Wallpapers/'

if [ $# = 0 ]; then
cd $WALLPAAPERS
FILE=$(zenity --file-selection --title "Wallpaper Select")
else
FILE=$1
fi
sed --in-place=.bak -e \
's:^DesktopBackgroundImage=.*$:DesktopBackgroundImage="'"${FILE}"'":' $pref
icewmbg -r



設定

 以下二行を自分の環境に合わせて編集してください。
pref='/home/もげげ/.icewm/preferences'
WALLPAAPERS='/home/もげげ/MyPictures/Wallpapers/'


使い方

 そのまま起動すればファイル選択ダイアログが出ます。
 が、このシェルスクリプト単独ではあまりおいしくはないので、ファイラや画像管理ソフトと組み合わせて使うのがいいでしょう。
 ファイラなどのコンテクストメニューに登録しておけば、もっと便利に壁紙を変えることが出来ます。

 私はファイラに rox を利用しているので、こんな感じになります。



 ファイラと組み合わせれば、さくさく壁紙を変更出来るようになるので是非活用してみてください。

0 件のコメント: