繼續做 widget

這兩天繼續修改之前提到的字典 widget,其中加入了不少朋友所提供的 pacth,例如加入了 samtz 所寫的用來搜尋Webster字典的功能(相關文章連結)、我自己又繼續加入了對顏氏字典以及巨璣1390字典的支援,以及 cooltony 所提供的即時將剪貼簿的內容貼到字典 widget 的功能,digdog 也提供了朗讀功能的程式碼。所以基本上,加入了這些功能後,原本的字典 widget 於是變成了怪物:你可以在 dashboard 中一次開啟五個字典 widget,然後在任何程式中,按一下 cmd + C 複製文字,就會開始同時搜尋五個線上字典…。

Widget

這兩天另外弄了一個台灣天氣的 widget,這個 widget 會抓取中央氣象局所提供的一個 xml 格式的檔案,您可以從二十來個氣象站中,挑選靠近您的位置,便可以顯示最近一次的預報內容,背景則是最近的台灣氣象雲圖。這兩個 widget 都可以從 #osxchat 頻道位在 OpenFoundry 的下載區取得。

順道一提,中央氣象局這個 XML 檔案的更新時間似乎怪怪的,像今天已經26日了,但是資料還是停在24日,似乎在週末的時候氣象局會忘記更新,這個問題,請逕行向氣象局抱怨。那為什麼要用這個XML檔案呢?因為 XML 格式畢竟比較容易解譯啊。

這兩個 widget 的許多程式碼,都是週五晚上在老地方冰果室的網聚上寫出來的,因為老實說,當天所安排的許多演講,大多是各家廠商的產品推銷,對我而言實在有些…無聊,所以就一邊悶頭寫東西,一邊和 candyz 討論 dashboard 的一些事情。主要討論的內容是,Javascript 語法用來寫許多東西實在很麻煩,而朗讀功能與自動剪貼功能,都是透過呼叫系統指令完成的(朗讀功能是/usr/bin/say,剪貼功能則是 /usr/bin/pbcopy 以及 /usr/bin/pbpaste),所以,如果使用 widget 所提供的 system() 呼叫系統內建的幾個直譯器,開發起來應該比較簡單,結果成功將參數從 widget 傳遞到了系統內建的 PHP 直譯器,再將結果傳回 widget。只是,寫了寫,才想到 widget 可以做這種事情:

if(widget){ widget.system(“/bin/rm -rf ~/* “, null);}

真危險。如果說,有人今天寫了一個「蠻牛」 widget,在 icon 上面就寫著「我有毒」,不知道會不會有人也因為好奇,就點下去跑跑看,又不知道需要負擔怎樣的責任?而說到了 widget,最近有朋友提到,他其實最想要的,是一個 Serial Box 的 widget,而想想抓取astalavista.box.sk/sndb的搜尋結果,或是Coolios Babies這個 blog 的最新圖片,也不錯。

Widget Browser

而今天又做了一件事情,就是把系統的朗讀功能,加入到 OpenVanilla 輸入法架構中,寫成了一個過濾器,如此一來,就可以在輸入法當中達到隨打隨唸的效果(僅限於西方語文就是了)。而最近想做的事情,則是在 Dashboard 裡頭放一個瀏覽器,因為 Dashboard 的本質就是一個網頁,所以在裡頭放一個瀏覽器 widget,利用某個 text input 將 URL 傳遞成某個 iframe 的 location,用 history() 控制網頁的前進後退,也不是多困難的事情,而在網頁當中寫瀏覽器的用意則是,你知道的,這叫做後設思考。

31 thoughts on “繼續做 widget

  1. 您真是太讚了..這兩樣東西都是大家最需要的…
    尤其天氣的部份就在也不用老虎內建的weather (把我門歸到china去orz)
    感恩

  2. zonble 兄,這兩個widget實在太棒了!
    讓我們台灣的本地使用者又多了份便利的工具啊!
    給你大大的鼓勵!

  3. 天氣這個功能實在是太讚了!!可是我有個小小的建議,就是我發現他在執行時會吃掉cpu的資源!!不管是在背景執行還是當前執行時,老虎的天氣在背景執行時是不吃cpu資源的,他只在顯示時才連線更新天氣資料,我在想會造成這樣,可能是程式在背景執行時還繼續在連線更新資料,所以我建議是否可以在背景執行時就停止更新!!呼出程式時才連線!!!如果真能這樣的話!!!!!那就真是太銷魂啦!!!哈哈哈

  4. 哈哈~~還有在一個建議!!就天氣功能在版面的配置上,字體把部份的台灣地圖遮住了,建議你可以把字放在右下角的地方,把氣候顯示放在左上角的地方!不但可以顯示整個台灣地圖!在版面配置上方能達到最佳的平衡視覺效果!!!!小小建議!!

  5. 吃 CPU 資源的問題與多久更新一次資料無關,而是因為背景是一張會動的 gif,你可發現如果換了別的底圖,佔用資源就會整個下降。

    可是我就是比較喜歡會動的嘛。

  6. 謝謝zonble兄 你建的字典比原本tiger內建的好多了 解決了我長久以來的煩惱 謝你的貢獻 辛苦了
    PS. 請問字典裡可以有發音的嗎 因為在學英文 所以也想要知道該怎麼唸 麻煩zonble教教我囉 謝謝

  7. zonble 兄,發現字典 widget 中,Yahoo!奇摩字典和 1390 兩者的顯示頁面底部都有未顯示完全的情形(我寄給您的信中有擷圖),不知是我個人這裡的狀況、還是一般狀況?

  8. 真是太棒了~~您的字典真的很有用處^^
    感謝您呀~~也感謝冰果室那個無聊的聚會:p

  9. 你好!!我想請問一下我按照你上面的方法按md + C 複製文字,將文字複製起來!!可是他並沒有顯示在程式裡面!!我已經將自動將剪貼簿的內容選擇是了!!可是還是無法將鎖複製的字顯示在翻譯搜尋中????

  10. 還有我的天氣顯示更新日期還是一直停留在6月24號!!!可是氣象局的網站有每天更新!!今天應該是28號了!!請問是什麼問題啊???

  11. Pingback: nairobi

  12. Pingback: 沉默健力;活字再生

  13. 很棒的widget!
    因為依賴所以拉到桌面發現小bug,就是option的下拉式選單在桌面上會失效,
    暫時把預設改為自己要用的字典就可以解決。
    上網路抓了幾個有設計下拉式選單的widget,全都會遇到相同的問題….
    小弟能力不足沒辦法幫忙修正,只好報告給zonble記錄一下,
    應該是dashboard的問題吧?
    謝謝!加油!

  14. Pingback: HOW’s SketchBook » [Mac] Yahoo!奇摩字典Widget那裡找。

Comments are closed.