June 23, 2012

GeekTool

剛開始用Mac的時候就有看到過GeekTool。他可以直接在桌面上顯示一些自定的圖片文字,看起來很酷,當時卻因為太麻煩,老是搞不定而作罷。到現在,時間也過了一兩年,相關的script越來越多,也打包的很成熟了。趁著前兩天刮風下雨的,弄點東西來玩玩。

GeekTool現在在Mac的AppStore就可以下載安裝了,非常方便。


裡面主要分成上、左下、右下三塊。
1. 上面顯示Yahoo目前台北天氣、今天的日期、跟本月月曆。
2. 左下顯示目前iTunes播放的歌曲/封面。
3. 右下顯示目前網路的IP位址。
這裡面最麻煩的應該就是那個Yahoo天氣了!



然後因為已經隔兩三天,當初參考的網頁也搞不清楚到底在哪了。
底下就直接把它export出來給大家用吧。

1. Yahoo天氣,點這裡下載
直接安裝完就是台北的目前天氣了。
location.glet: 這只是顯示"Taipei"字串而已,沒什麼特別的。
current.glet: 目前天氣的文字敘述。
curl --silent "http://weather.yahooapis.com/forecastrss?p=TWXX0021&u=c" | grep -E '(Current Conditions:|C<BR)' | sed -e 's/Current Conditions://' -e 's/<br \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<description>//' -e 's/<\/description>//'如果不在台北的話,可以參考這邊查詢所在位置的地區碼。
image.glet: 顯示天氣圖片file://localhost/tmp/weather1.pnggetimage.glet: 從Yahoo取得天氣圖片,存在本機的/tmp/weather1.png。如果圖片出不出來,請先檢查一下路徑是否正確。image跟getimage裡面的路徑記得要對應好喔! and 不在台北的話,這邊的網址也要修改喔!
curl --silent "http://weather.yahoo.com/taiwan/taipei-city/taipei-city-12703515/" | grep "current-weather" | sed "s/.*background\:url(\'\(.*\)\') .*/\1/" | xargs curl --silent -o /tmp/weather1.png\
1.1 日期跟月曆的部份,點這裡下載
這個唯一需要注意的大概就是,如果你想顯示英文月,ex: Jun. 這樣的日期的話,記得不要勾選"set locale environment",這樣就會顯示英文的了。格式碼可以參考這篇

2. 只要安裝iTunesGeeklet就可以啦!還有五種theme可以選擇。非常方便!

3. 顯示網路IP,點這裡下載
myen0=`ifconfig en0 | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}'`
if [ "$myen0" != "" ]
then
echo "LAN: $myen0"
#else
#echo "LAN: INACTIVE"
fi
myen1=`ifconfig en1 | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}'`
if [ "$myen1" != "" ]
then
echo "Wifi: $myen1"
#else
#echo "Wifi: INACTIVE"
fi
wip=`curl --silent http://checkip.dyndns.org | awk '{print $6}' | cut -f 1 -d "<"`
if [ "$wip" != "" ]
then
echo "Internet: $wip"
fi

照這個code會顯示有線網路(LAN)、無線網路(WIFI)、跟在internet上的IP。如果沒有連網的情況下是不會顯示的。如果你希望在沒有連線的時候可以顯示inactive,就把裡面註解掉的#else
#echo "Wifi: INACTIVE"
前面的"#"拿掉即可。

更多Geeklet參考這裡:http://www.macosxtips.co.uk/geeklets/

太久沒寫,一寫就是這種長文。還好今天的咖啡店非常適合寫文章。




0 Comments: