GeekToolでデスクトップ拡張

f:id:yosuke_furukawa:20110801204048p:image
やっとイメージ通りのものになりつつあるので、ここらでいったん公開したいと思います。

上記の画像が今の自分のデスクトップの画像です。
黒基調にしてみました。

説明していきます。GeekToolの基本的な使い方は、下記のリンクを参考にしてください。
Macのデスクトップカスタマイズの定番!『GeekTool』を使ってMacをギークっぽくカスタマイズ! * 男子ハック

まずは真ん中のカレンダーはどうやって出しているのか。
f:id:yosuke_furukawa:20110801205718p:image
こちらは三階ラボさんの壁紙カレンダーから使わせてもらっています。
下記のリンクからとりにいけます。
三階ラボ | 壁紙カレンダー 2011 ver.01
画像をダウンロードしただけでは、月が変わる毎に手動で更新をしないといけないので、
shellのGeekLetを選択し、下記のスクリプトを実行させます。

cp /desktop-calendar-2011-v01-sun/desktop-calendar-2011-dark-sun/1600x1200/desktop-calender-2011_ws`date +"%m"`.png /tmp/thismonth.png

次にimageのGeekLetを選択し、下記のスクリプトを実行させます。

file:///tmp/thismonth.png

少しだけtransparentにしていますが、それもGeekToolの機能で実現できます。

次にdateを表示させます。
f:id:yosuke_furukawa:20110801225439p:image
これは簡単で、shellのGeekletから選んで、下記のコマンドでOK。
※ちなみに、この曜日が漢字なのが気に入らなかったので、いろいろ試してみたんですが、無理でした。
なんかやり方はありそうです。

date "+%Y.%m.%d(%a)"

次にtimeですね。
f:id:yosuke_furukawa:20110801225935p:image
これも簡単。同じように下記のスクリプトを入れるだけでOK。
"%S"を入れれば、秒も表示できます。

date "+%H:%M"

次にweather forecastを入れます。
f:id:yosuke_furukawa:20110801225936p:image
これは割と難しいです。
・画像更新用shell Geeklet
・画像用 Geeklet
・天気と温度表示用のshell Geeklet
の3つに分けて設定する必要があります。

まず画像更新用shell

curl --silent "http://weather.yahoo.com/japan/tokyo-prefecture/tokyo-1118370/" | grep "forecast-icon" | sed "s/.*background\:url(\'\(.*\)\')\;\ _background.*/\1/" | xargs curl --silent -o /tmp/weather.png

次に画像用Geeklet

file:///tmp/weather.png

最後に天気と温度表示用のshell Geeklet

curl --silent "http://xml.weather.yahoo.com/forecastrss?p=<ZIPCODE>&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>//'

は東京との場合は、JAXX0085ですね。なので、具体的に指摘すると、

curl --silent "http://xml.weather.yahoo.com/forecastrss?p=<JAXX0085>&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>//'

次はスケジュール。
f:id:yosuke_furukawa:20110801231717p:image
スケジュールはicalから自動的に出力されます。

/usr/local/bin/icalBuddy -nc eventsToday+7 | sed -e "s/*/-/"

最後にシステム情報、まとめていきます。
f:id:yosuke_furukawa:20110801231718p:image
CPUは下記のコマンドで出力しています。

myCPU=`top -l 1 | awk '/CPU usage/ {print $3}' | sed s/%//`
echo $myCPU'%'

Memoryは下記のコマンドです。

top -l 1 | awk '/PhysMem/ {print "Used: " $8 " Free: " $10}'

Diskは下記のコマンドです。

df -hl | grep 'disk0s2' | awk '{print $4"/"$2" free ("$5" used)"}'

これでやっとGeekの仲間入りかな?
これ以外にも下記のサイトを見れば、いろいろありますね。
15 GeekTool desktop inspirations for the weekend
完全にデスクトップにとけ込んでいるのはすごいと思います。
Geekletsは下のサイトを見るとよりたくさんあります。
Geeklets - The best place to get GeekTool scripts

自分のやつは下記のサイトを参考にしました。
Mac Explorer| Macのデスクトップカスタマイズその2