September 06, 2011

GeekTool ลง Mac App Store แล้ว

ในที่สุด GeekTool ก็ลง Mac App Store แล้ว

แต่เดิมผมไม่ได้สนใจมันเท่าไหร่ แต่ไหนๆ มันก็ลง Mac App Store แล้วก็เลยเอามาเล่นสักหน่อย ทำแบบรีบๆ ได้ Desktop หน้าตาแบบนี้มาดูเล่นล่ะ



หลักๆ แล้วการใช้ GeekTool จะเป็นการเอารูป และ output ของการรัน command ต่างๆ มาแปะไว้บน Desktop ที่นิยมก็เช่น วันที่ เวลา ปฏิทิน การใช้เมมโมรี่ และสถานะ CPU เป็นต้น

สำหรับการนำรูปมาแปะสามารถเลือกรูปในเครื่องเราได้เลย และสามารถตั้งค่าให้มันเปลี่ยนรูปไปเรื่อยๆ ได้

ยกตัวอย่างเช่นรูปรายงานสภาพอากาศนั้นผมไปดึงรูปมาจาก Yahoo Weather โดยมีขั้นตอนดังนี้

1. ไป Yahoo Weather แล้วกำหนดสถานที่เป็น Bangkok Thailand จะได้ URL มาของสภาพอากาศมา
2. เปิด GeekTool แล้วแปะ Shell ลงไป จากนั้นตรงช่อง command ให้ใส่คำสั่งดังนี้


curl --silent "WEATHER_URL" | grep "forecast-icon" | sed "s/.*background\\:url(\\'\\(.*\\)\\')\\;\\ _background.*/\\1/" | xargs curl --silent -o /tmp/wpicture.png

ให้แทน WEATHER_URL ด้วย url ของสภาพอากาศที่ได้มา

จากคำสั่งจะเป็นการดึง HTML จาก URL ของสภาพอากาศที่ได้มาจากนั้นแกะเอาแต่ชื่อภาพของสภาพอากาศและสั่งเซฟลงไปที่ /tmp/wpicture.png

และให้กำหนดให้มัน refresh ทุกๆ เวลาเท่าไหร่ก็ได้ อาจจะสัก 1 ชั่วโมงต่อครั้ง (การสั่ง refresh ที่ว่านี้จะเป็นการกำหนดให้คำนั่งที่เรากำหนดไว้ทำงานทุกๆ เวลากี่วินาที)

3. ไปที่ GeekTool แล้วแปะ Image ลงไป ตรงค่า URL ของรูปนั้นให้ใส่เป็น file:///tmp/wpicture.png พร้อมทั้งกำหนดให้มัน refresh รูปด้วย (ประมาณ 1 ชม. ต่อครั้งก็ได้)

เท่านี้รูปสภาพอากาศก็จะเปลี่ยนแปลงไปเรื่อยๆ แล้ว


4. สำหรับอุณหภูมิและสภาพอากาศนั้นให้ใช้คำสั่งดังนี้

curl --silent "http://xml.weather.yahoo.com/forecastrss?p=THXX0002&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>//' -e 's/,//' | tail -n1

แทนพารามิเตอร์ p ด้วยรหัสของสถานที่ที่เราต้องการ ดูได้จาก RSS ในหน้าสภาพอากาศนั่นแหละ
เช่น หากกำหนดสภาพอากาศเป็น Bangkok แล้วกดดู RSS จะได้แบบนี้ และค่า p คือ THXX0002 นั่นเอง


ตัวอย่าง Desktop สวยๆ ที่เอา GeekTool ไปใช้:
http://desktopspotting.com/25/awesome-geektool-mac-os-x-desktop/
http://tjdyo.deviantart.com/art/My-Desktop-with-Geektool-195121469
http://www.fuelyourinterface.com/making-your-desktop-look-awesome-again/
http://www.stumbleupon.com/su/2NzrKf/smokingapples.com/software/15-geektool-desktop-inspirations-for-the-weekend
และอันนี้เซ็ตใหญ่จาก flickr ครับ http://www.flickr.com/photos/tags/geektool/interesting/


:)