技客留言板GeekTool,秀什麼都行

技客留言板GeekTool,秀什麼都行

我有撰寫待辦事項的習慣,因為常會忘記要做什麼事。不過要是把記事寫在不顯眼的地方,例如筆記本、沒有通知功能的軟體或是家裡的牆上,那就算所有要辦的事情都記下來了,還是會忘記一件事:要去看有什麼待辦事項。由於我每天一定會盯著螢幕超過十個小時,乾脆把待辦事項寫在電腦桌面上吧。

不過要將記事很快地寫在桌面上並不容易,用了許多程式都覺得不夠直覺,例如在Windows上有名的Rainlendar其實也有免費的Mac版本,不過我覺得安裝好後要新增記事時實在麻煩,因為得從選單列操作才行,而我又懶得去記它的快速鍵。因此我決定利用GeekTool和Quicksilver這個兩個程式來達成我想在桌面上顯示記事、日期和天氣的目的。另外我們還可以配合別人寫好的Script或是程式另外顯示一些資訊在桌面上。

GeekTool官方網站:http://projects.tynsoe.org/en/geektool/

GeekTool的安裝

GeekTool是Mac上的PrefPane程式,而且受到許多進階使用者的歡迎,因為它最主要的功用就是將Shell的執行結果顯示在桌面上,如果在配上scripting language像是Python或是Ruby,那它可以做到的事情就多了,例如顯示系統的資源使用狀況、Google行事曆或是Twitter帳號等。要使用GeekTool需要一點使用命令列模式的知識,不過不知道也沒關係,網路上多的是別人已經寫好的Geeklet,只要抓下來就可以使用。

技客留言板GeekTool,秀什麼都行

▲ Geektool的安裝方式非常簡單,下載GeekTool之後,只要按兩下GeekTool 3.x 的dmg檔,OSX就會自動幫你掛載起來。

技客留言板GeekTool,秀什麼都行

▲ 按兩次裡面的GeekTool.prefPane就會自動安裝GeekTool。

技客留言板GeekTool,秀什麼都行

▲ 接著請選擇「系統偏好設定」。

技客留言板GeekTool,秀什麼都行

▲ 你可以在「系統偏好設定」中找到「GeekTool」已經安裝好了。

建立第一個GeekTool:時鐘Widget

如果你知道怎麼使用命令列的話,那你就已經會使用GeekTool了,因為GeekTool其實就是一個把命令列產生的結果顯示在桌面上的小工具,只要設定好你要跑的命令,GeekTool會自動在設定好的時間更新。

技客留言板GeekTool,秀什麼都行

▲ GeekTool可以顯示三種資料在桌面上,包括「File」、「Image」和「Shell」,其中「Shell」就是用來顯示命令結果的工具,也是GeekTool中最強的功能。

技客留言板GeekTool,秀什麼都行

▲ GeekTool就像是一個功能強大的Widget系統,要顯示什麼類型直接拖到桌面上,GeekTool就會產生一個可以自訂的Widget。

技客留言板GeekTool,秀什麼都行

▲ 首先我們先來做個顯示時間的Widget。請在桌面上拉一個新的Widget後,你可以看到它的「Properties」視窗,這個Widget所有的調整都在這裡進行。請在Command欄目中填入「date "+%k:%M"」,其中「%k」代表「小時(24小時制),而「%M」則表示「分鐘」。

Tips:你可以在date指令的Wikipedia頁面找到所有可用的參數。

技客留言板GeekTool,秀什麼都行

▲ 「date」是Unix的指令,可以顯示現在的時間、日期和星期等。配合GeekTool使用這個指令我們就可以將這些資訊顯示在桌面上。不過預設的字型看起來太小了,我們可以在Proerties視窗中調整字型大小。

技客留言板GeekTool,秀什麼都行

▲ 要調整字型,請在Style區塊中按一下「Click here to set font & color」按鈕。

技客留言板GeekTool,秀什麼都行

▲ 調整好後,發現字型過大,我們可以利用Widget右下方的尺寸圖示來調整大小。

技客留言板GeekTool,秀什麼都行

▲ 在字型調整視窗中,你也可以利用上方的顏色按鈕調整文字的顏色。

技客留言板GeekTool,秀什麼都行

▲ 調整好之後你就弄好第一個GeekTool Widget。現在你可以看到目前時間顯示在桌面上了。

技客留言板GeekTool,秀什麼都行

▲ 利用GeekTool和Date指令,你可以在桌面上顯示各種時間格式,並排成你喜歡的樣子。

技客留言板GeekTool,秀什麼都行

▲ 關掉系統偏好設定後,你就可以完整看到排列的樣子了。

用GeekTool加QuickSilver管理待辦事項

在看過上面GeekTool基本的使用方式後,我們現在要讓GeekTool和QuickSilver搭配,製造一個方便的記事本。主要的概念是GeekTool用來顯示一個文字檔的內容,而QuickSilver則用來快速寫入資訊到文字檔中。

QuickSilver官方網站:http://www.blacktree.com

技客留言板GeekTool,秀什麼都行

▲ 首先在你想要的地方建立四個文字檔,並以UTF-16編碼存檔,我給這四個文字檔的名稱是:「todo.txt」:用來記待辦事項;「ideas.txt」:用來記題目發想;「errands.txt」:用來記日常瑣事;「notes.txt」:用來做臨時記事。

技客留言板GeekTool,秀什麼都行

▲ 接著請製作一個GeekTool Widget,然後在Command的地方填入:「curl file:///Users/mac/Documents/todo.txt」(請填入自己檔案所在的路徑)。

技客留言板GeekTool,秀什麼都行

▲ 然後依樣畫葫蘆建立其他三個文字檔的Widget。建立好後你就可以看到文字檔內的文字顯示在桌面上了。利用這四個文字檔,我們就可以在桌面上顯示記事了,如果要變更記事,就直接去改文字檔就好。

技客留言板GeekTool,秀什麼都行

▲ 因為每次新增記事就要修改文字檔實在太麻煩了,因此我用QuickSilver內建的Append to功能來直接將文字加入文字檔的末端。

技客留言板GeekTool,秀什麼都行

▲ 用快速建呼叫QuickSilver後,請按一下鍵盤上的「.」進入文字模式,然後輸入你要新增的記事。輸入完後請按一下鍵盤上的「Tab」按鍵。

技客留言板GeekTool,秀什麼都行

▲ 接著請選擇Append to功能,你可以按一下鍵盤上的「a」快速跳到這個功能,選擇好後再按一下鍵盤上的「Tab」按鍵。

技客留言板GeekTool,秀什麼都行

▲ 然後選擇你要將這個記事加入哪個文字檔,你可以在QuickSilver中輸入檔案名稱來搜尋,找到檔案後,按一下「Enter」鍵。

技客留言板GeekTool,秀什麼都行

▲ 接著你就可以看到你桌面上的記事新增了剛才輸入的內容。

新增天氣資訊

GeekTool除了可以用命令列顯示時間或文字內容等資訊,藉助Scripting Language的幫助,GeekTool還可以顯示更多資訊在桌面上,例如:天氣、Google行事曆或是Twitter。不過就算我們不懂得如何寫script也沒關係,我們可以用網路上別人寫好的scrpt。另外你也可以在類似「Geeklets」的網站中,找到專門給GeekTool使用的script。

Geeklets網址:http://www.macosxtips.co.uk/geeklets

我們接下來就來看該怎麼把天氣資訊顯示在桌面上,我們可以用Ted Wise所寫的「New Geek Tool Weather Script」來達成這個功能。

New Geek Tool Weather Script下載網址:http://tedwise.com/files/acweather.rb。另外,這支script需要用到Ruby的套件程式trollop,如果沒有安裝的話(OS X中預設的Ruby並沒有安裝),請打開終端機,然後輸入「sudo gem install trollop」後,按一下「Enter」鍵就會自動安裝。

技客留言板GeekTool,秀什麼都行

▲ 這個script最主要是寫給使用華氏的外國人所寫的,所以溫度顯示會不正常,因此我們下載後,請先用文字編輯器打開acweather.rb。接著找到第17行。

技客留言板GeekTool,秀什麼都行

▲ 這一行程式碼是用來指定天氣圖示的位置,由於acweather.rb所使用的是ACCWeather的資料,因此我們得下載它的圖示來用。下載後請將圖示放入你喜歡的位置,然後將路徑填入這行程式中。例如我將圖示放在「/Users/mac/wicons」,將它填入這行程式的兩個引號中即可。

ACCWeather圖示下載位置:http://www.accuweather.com/accunet/graphics-icons.asp

技客留言板GeekTool,秀什麼都行

▲ 接著因為acweather.rb這個script只會顯示華氏溫度,因此我們還得改一下溫度顯示的方式。請找到第186-188行。

技客留言板GeekTool,秀什麼都行

▲ 請將186-188行改成如下的程式碼:

if opts[:temperature]
tempf = weather['temperature']
tempc = ( tempf.to_i - 32 ) * (5.0/9.0)
print tempc.round, " ℃"

技客留言板GeekTool,秀什麼都行

▲ 改好程式後就可以開始執行這支script了,不過它抓天氣時預設會以美國郵遞區號來判斷位置,而台灣就必須使用地區碼。請將這支script放在你喜好的位置,然後在終端機輸入「[程式絕對路徑]/acweather.rb --lookup Taipei」(由於我住台北,當然用台北來查,請改成自己所住地區的英文名稱)然後按一下「Enter」就可以得到台北的地區碼。

技客留言板GeekTool,秀什麼都行

▲ 取得地區碼之後,我們可以先在終端機裡測試一下是否一切正常,請輸入「[程式絕對路徑]/acweather.rb -z "[地區碼]" -t」,如果正常的話,終端機就會送回所在地的溫度。

技客留言板GeekTool,秀什麼都行

▲ 然後請將上面測試正常的指示填入GeekTool的「Command」欄位中,GeekTool就會回報現在的溫度在桌面上了。

技客留言板GeekTool,秀什麼都行

▲ 別忘了我們前面還指定了天氣圖示的位置,這時就要用到了,請新增一個GeekTool Widget,然後在「Command」欄位中填入「file:///tmp/acweather-icon.png」就可以了,因為上面的script會把現在天氣的圖示複製到這個位置。

技客留言板GeekTool,秀什麼都行

▲ 完成後你就可以在桌面上顯示現在的溫度和天氣圖示了。

在桌面上顯示Twitter Feed

只要利用TwitterBuddy這個程式,GeekTool還可以將Twitter Feed顯示在你的桌面上。

TwitterBuddy下載網址:http://tinyurl.com/3x9wwjp

技客留言板GeekTool,秀什麼都行

▲ 下載好TwitterBuddy之後,請在「install.command」上按兩次,TwitterBuddy就會自動安裝。

技客留言板GeekTool,秀什麼都行

▲ 接著請建立一個GeekTool Widget然後在「Command」欄位中輸入

/usr/local/bin/twitterbuddy -u [Twitter使用者名稱] -p [Twitter密碼] -n [要出現的Tweet個數]

技客留言板GeekTool,秀什麼都行

▲ 輸入後就可以看到你的Twitter Feed出現在你的桌面上了。

Google行事曆也可以放在你的桌面上

現在我們桌面上已經有了待辦事項,我們還可以將行事曆放上桌面讓你的工作管理更順利。要將Google行事曆放上桌面我們可以使用gcalcli這個程式,不過在安裝之前,還必須安裝Google的Gdata python client程式。

Gdata python client下載網址:http://tinyurl.com/3a94eqm
gcalcli下載網址:http://tinyurl.com/35lssu5

技客留言板GeekTool,秀什麼都行

▲ 下載Gdata python client後,請打開終端機,輸入「cd」+「空格」,然後將解壓後的Gdata資料夾拖入終端機後按一下「Enter」。

技客留言板GeekTool,秀什麼都行

▲ 接著請輸入「python setup.py install」,Gdata就會自動安裝。

技客留言板GeekTool,秀什麼都行

▲ 接著下載gcalcli並解壓縮,然後使用文字編輯器打開gcalcli這個檔案,並把第一行改成:

#!/usr/bin/python -W ignore::DeprecationWarning」。

技客留言板GeekTool,秀什麼都行

▲ 因為gcalcli處理Unicode會有問題,所以我們必須把第66和67行註解掉,請在這兩行最前方加上「#」號然後存檔即可。

技客留言板GeekTool,秀什麼都行

▲ 接著請打開「Finder」中的「前往」->「前往檔案夾」

技客留言板GeekTool,秀什麼都行

▲ 然後請輸入「/usr/local/bin」。

技客留言板GeekTool,秀什麼都行

▲ 請將我們修改好後的gcalcli拖入剛剛打開的/usr/local/bin檔案夾中,這樣就安裝好gcalcli了。

技客留言板GeekTool,秀什麼都行

▲ 接下來我們要提供Google行事曆的帳號和密碼。請打開一個空的純文字檔,然後輸入以下文字:

[gcalcli]
user: [Google使用者帳號]
pw: [Google密碼]

接著將這個文字檔存成「.gcalclirc」放入你的家目錄就可以了。

技客留言板GeekTool,秀什麼都行

▲ 請開啟一個新的GeekTool Widget,然後在「Command」欄位輸入「/usr/local/bin/gcalcli --nc agenda」。

技客留言板GeekTool,秀什麼都行

▲ 然後你就可以看到你的Google行事曆出現在桌面上了。

技客留言板GeekTool,秀什麼都行

▲ 全部的GeekTool Widget打開後就像這樣。

同場加映

看到上圖是不是覺得奇怪我幹嘛留一塊空位在那裡?其實那是我用來顯示iTunes目前播放曲目的地方,不過用GeekTool來做這件工作有點麻煩,所以我用了一個名為「Bowtie」的小程式來執行這個工作。

Bowtie下載網址:http://bowtieapp.com/bowtie-1.1.zip

技客留言板GeekTool,秀什麼都行

▲ 加上Bowtie後,我的個人自製資訊顯示台就完成了。

Mengkuei Hsu
作者

Currently not available.

使用 Facebook 留言
Eb35e70b22d77fb3ede488a1e64834cb?size=48&default=wavatar
3.  好手 (發表於 2010年6月06日 21:34)
應該要先說明是 for MAC only 的,看到中間才發現 一一
Mengkuei Hsu
5.  Mengkuei Hsu (發表於 2010年6月07日 00:26)
@xdite: Thanks.

@JJ: 可以試試最前面提到的 Rainlendar 哦。

@好手:抱歉,下次會改進。

@Horre: 本來只想寫一千多字到顯示To Do就好,結果愈玩愈上癮,就……
Bf73e08d8bc1db95b62f02d50f8a03e9?size=48&default=wavatar
6.  皮樂 (發表於 2010年6月07日 00:50)
這篇大推!之前皮樂我也想寫的,結果因為研究不深,所以不敢寫。
69a1607c6477e2be3329425bbf39301b?size=48&default=wavatar
7.  iBoluo (發表於 2010年6月07日 08:51)
=_=;如果我想换桌布怎么办?
不过此文真的大赞啊。
Mengkuei Hsu
9.  Mengkuei Hsu (發表於 2010年6月08日 12:39)
@iBoluo

GeekTool的Widget產生後就可以拖到你想要的地方啦,所以換桌布就換位置就好。
182b76e0ec8715c1f4942ed7bcb71bc4?size=48&default=wavatar
10.  RICH (發表於 2010年6月26日 00:17)
我按照這篇的方法實作之後發現
記事本要存成utf-8才能顯示
而且在跑 [絕對路徑]/acweather.rb --lookup Taipei
這一步時顯示"Permission denied"耶
可以請教是發生什麼問題了嗎?
182b76e0ec8715c1f4942ed7bcb71bc4?size=48&default=wavatar
11.  RICH (發表於 2010年6月26日 09:04)
自己回文
在[絕對路徑]/acweather.rb --lookup Taipei時顯示"Permission denied
要在指令前面加上ruby 就可以跑了。

不過現在遇到另外一個問題,
就是在geek tool的commend上貼ruby [絕對路徑]/acweather.rb --lookup Taipei 結果看到東西耶
E4abf42776a839bf5148830a302f1845?size=48&default=wavatar
12.  小瑤 (發表於 2010年11月24日 16:44)
安安 我叫 小瑤 在校學生 民國79年次

身高162 體重46 胸圍34c

最近缺錢不得已偷偷出來兼職(援交)

我是很單純的那種唷

要約請加我MSN:( xiaoyao258010@hotmail.com )

我的及時: xiaoyao25802

價錢是 3000 2小時 全套服務

沒聊天工具的可以到我的無名留言給我

留下你的電話號碼 稱呼 駐哪裡

我上線第一時間打電話給你 跟你聯系

(我一般下午2點到晚上1點都在線)

我ㄉ無名:http://www.wretch.cc/album/xiaoyao25802

沒誠意的客戶請不要加我也不要留言給我

謝謝 護欄鬼勿擾
D0b05dc09798cac0540e973dd1bbc4c6?size=48&default=wavatar
13.  路人假 (發表於 2010年11月24日 19:17)
有沒有網友願意寫開箱文XD

※ 引述《小瑤》的留言:
> 安安 我叫 小瑤 在校學生 民國79年次
>
> 身高162 體重46 胸圍34c
>
> 最近缺錢不得已偷偷出來兼職(援交)
>
> 我是很單純的那種唷
>
> 要約請加我MSN:( xiaoyao258010@hotmail.com )
>
> 我的及時: xiaoyao25802
>
> 價錢是 3000 2小時 全套服務
>
> 沒聊天工具的可以到我的無名留言給我
>
> 留下你的電話號碼 稱呼 駐哪裡
>
> 我上線第一時間打電話給你 跟你聯系
>
> (我一般下午2點到晚上1點都在線)
>
> 我ㄉ無名:http://www.wretch.cc/album/xiaoyao25802
>
> 沒誠意的客戶請不要加我也不要留言給我
>
> 謝謝 護欄鬼勿擾
最狂嘴砲戰鬥哥 Amola Li
14.  最狂嘴砲戰鬥哥 Amola Li (發表於 2010年11月24日 20:24)
※ 引述《路人假》的留言:
> 有沒有網友願意寫開箱文XD

很有誠意的鴿子大叔也許會……
其實有點好奇這些人貼廣告都不挑地方的嗎…
9ccdb3b4758242e96a493e8009d77cc8?size=48&default=wavatar
15.  BB (發表於 2011年9月09日 02:36)
我打完
/Users/georgekarlmarx/Documents/scripts/weather/acweather.rb --lookup taipei
之後跑出這些就卡住了
-:1: unknown regexp options - grgkarlar
-:1: syntax error, unexpected tUMINUS, expecting $end
...scripts/weather/acweather.rb --lookup taipei
^
請問我該怎麼解決

352d605dbee763b8e983c6bbaffcdbd3?size=48&default=wavatar
16.  Amy (發表於 2011年10月04日 12:52)
謝謝分享!

想請問大大,
我在quick silver找不到Append to的功能 ╮(╯_╰)╭
按了a也沒有,按了tab往下找也沒有
到function裡也沒有
能不能分享一下要怎麼設置呢?

謝謝
Clare
17.  Clare (發表於 2014年2月01日 09:18)
請問桌面行事曆的部份,都已設定好,但桌面都無顯示,是何原因呢?
發表回應
謹慎發言,尊重彼此。按此展開留言規則