星期三, 12月 08, 2010

動畫桌布xwinwrap with openSUSE 11.3

今天看到 zenix 在展示動畫桌布
覺得很有趣, 感覺上在推廣上面很有幫助, 就馬上跟他請教製作方式

zenix 也馬上在聚會結束後, 使用mail 教授大家方式

需求 compiz, xwinwrap, mplayer, zenity

安裝 xwinwrap  使用 OneClick Install

# OneClickInstallUI http://software.opensuse.org/ymp/home:malcolmlewis:Miscellanous/openSUSE_11.3/xwinwrap.ymp

檢查 zenity 是否安裝
# zypper search zenity
Loading repository data...
Reading installed packages...

S | Name                | Summary                           | Type  
--+---------------------+-----------------------------------+--------
  | octave-forge-zenity | ZEnity                            | package
i | zenity              | GNOME Command Line Dialog Utility | package
  | zenity-lang         | Languages for package zenity      | package

以一般使用者建立 script
>vi ~/.gnome2/nautilus-scripts/動畫桌布


#!/bin/bash
function XWINWRAP
{
   FILE_NAME=$1
   if [ -z $FILE_NAME ];
   then
       exit;
   else
       killall xwinwrap
       xwinwrap -ni -o 0.3 -fs -s -st -sp -b -nf -- mplayer -loop 0 -wid WID  -quiet "${FILE}" &
       # -nosound加在mplayer後可以關掉聲音
       # -- 後面為執行的指令, smplayer 不適用, 所以使用 mplayer來播放
       # -o 0.4是透明度,可以自己調 數字越小越透明
   fi
}
ZENITY=$(which zenity)
select_file="請選取影片檔"
error_nofiles="未選取檔案"

FILE=`$ZENITY --file-selection --title="$select_file" --file-filter="videos | *.wmv *.avi *.mkv *.flv *.mp4 *.rmvb"`
#只要是mplayer可以播的,都可以加進去這後面(我只加常用格式)

case $? in
   0)
       XWINWRAP $FILE
       ;;
   1)
       echo "$error_nofiles"
       killall xwinwrap
       ;;
   -1)
       echo "$error_nofiles"
       ;;
esac

給予適當的權限
> chmod a+x ~/.gnome2/nautilus-scripts/動畫桌布




之後只要按滑鼠右鍵
命令稿 --> 動畫桌布 ,選取影片檔案
就可以有動畫桌布

要停止影片
就再按滑鼠右鍵
命令稿 --> 動畫桌布 ,不選取影片檔案
點選取消

動畫桌布就會停止

感謝 zenix 大大



^^ enjoy it !!

沒有留言: