就無聊有個想法
就是我希望我的icewm能做到像是阿里巴巴包的knoppix一樣,
可以隨意更改桌佈,但是卻可以在以後開機之後,
就載入我最後選擇的圖檔當桌面,省去每次要修改設定檔的
所以就寫了一個簡易的shell script
首先先安裝chbg這個套件讓你能在執行icewm期間就可以動態修改桌面
再來就是自動取代的shellscript啦!
名字叫chWallpaper.sh,內容如下
- 代碼: 選擇全部
#!/bin/sh
#換成指定的圖檔
chbg -bg "#8aff6b" -mode center /usr/share/wallpaper/$1
#先去判斷是用那個theme
t=`perl -ne 'print "$1" if /Theme="([\S]*)"/' < ~/.icewm/theme`
#再判斷default.theme裡是不是有設定DesktopBackgroundImage
test=`perl -ne 'print "$1" if /(DesktopBackgroundImage)[\S]*/' < .icewm/themes/$t`
#若沒有設定,就在default.theme裡加一行,若有就去取代成我們要的圖檔
if test -z $test
then
echo 'DesktopBackgroundImage="/usr/share/wallpaper/'$1'"' >> .icewm/themes/$t
else
perl -pe 's#(DesktopBackgroundImage="/usr/share/wallpaper/)\S*"#$1'$1'"#g' < .icewm/themes/$t > ./tochange
cp ./tochange .icewm/themes/$t
rm ./tochange
fi
然後在自己的.icewm/toolbar裡加入你要的圖檔的程式
- 代碼: 選擇全部
menu "更換桌佈" wallpaper {
prog "sword1.jpg" theme chWallpaper.sh sword1.jpg
prog "fondo1.jpg" theme chWallpaper.sh fondo1.jpg
prog "debian.jpg" theme chWallpaper.sh debian.jpg
prog "SuckWin.jpg" theme chWallpaper.sh SuckWin.jpg
prog "debian1.jpg" theme chWallpaper.sh debian1.jpg
prog "dsc00828.jpg" theme chWallpaper.sh OurPicture/dsc00828.jpg
prog "dsc00836.jpg" theme chWallpaper.sh OurPicture/dsc00836.jpg
prog "dsc00842.jpg" theme chWallpaper.sh OurPicture/dsc00842.jpg
prog "Our_Img09.JPG" theme chWallpaper.sh OurPicture/Our_Img09.JPG
}
如此就完成了,不過因為我的桌佈都是放在同一個目錄之下才能這樣做喔!
大家稍做修改就能變成自己適合的囉!
若有興趣修改小弟很差的程式
歡迎歡迎~~~不過寄的寄一份給小弟我
讓我也學學^^,謝謝
希望能帶給大家便利
ps.感謝朝貴老師的perl講義,和evillon的提示^^