供 OpenVanilla OSX 使用的新酷音輸入法 0.3

新酷音輸入法 0.3 for Mac OS X

新酷音輸入法計畫在上個月 15 日推出了libchewing 0.3.0 版中文公告),相較於 0.2 系列,算是一次相當大的更新,尤其是 API 的部份。因為這陣子比較沒有時間,所以擱了一陣子,才去看看 API 到底改成了什麼樣子,昨天晚上才弄出可以在 MacOS X 平台上供 OpenVanilla 使用的新酷音輸入法 0.3 版。

這一版最大的改進,在於整個輸入法從 Big5 改為 Unicode 核心,因此,現在使用酷音輸入法,可以直接輸入許多原本 Big5 中所沒有的字元,例如—現在可以直接用酷音輸入法輸入「㗅」,在標點符號的輸入方面,也有了相當的改進。

程式碼現在放在 OpenVanilla 的 svn 檔案庫裡頭: http://svn.openfoundry.org/openvanilla/trunk/Modules/OVIMSpaceChewing0.3/,如果想要試試看,您可以下載程式碼自行編譯 OpenVanilla,請參見 OpenVanilla 網站上的這篇:〈取得原始碼與編譯〉

WordPress 2.0 的 Photocast

之前曾經提到,WordPress 2.0提供一項所謂的行內上傳(inline upload)功能,可以在發表文章的時候,同時上傳照片,而上傳的照片會被視為是文章的附件,也提到了如果想要在網頁上呈現「隨機照片」的作法。

而 Apple 在 iLife’06 版本的 iPhoto 當中,提供了一項新功能,叫做 Photocast ,原理是 iPhoto 可以訂閱包含照片資料的 RSS 或 Atom,在對方網佔有任何更新的時候,可以立刻將遠端的照片抓取到 iPhoto 的像本中,在網路上可以看到許多人在討論蘋果的 RSS 格式相關問題,例如 The wonderful world of Apple RSS …等。此外,Flickr 所產生的 Atom ,也可以順利以 Photocast 方式,讀入到 iPhoto 中。

姑且不論 Apple 在新版 iPhoto 中所制定的 RSS 如何破壞原本的 RSS 規格這方面的問題,既然我們知道怎樣從 WordPress 中選取照面列表,我們也知道了 Apple 的 RSS 格式,那麼只要稍微改一改原本的程式,我們就可以在 WordPress 中做到 Photocast 功能。程式碼如下,只要把程式碼存成一個 PHP 文字檔案(例如 wp-photocast.php),然後存入到 WP 安裝目錄,然後就可以用 http://example.com/wp-photocast.php 這樣的位置,訂閱照片了。

需要注意一件事情:如果在伺服器端設了「防止他人盜連圖片」這樣的設定,會造成 iPhoto 無法正常下載圖片,而 iPhoto 會因為以為沒有正確輸入帳號密碼,而不斷跳出帳號輸入視窗。

Continue reading

OpenVanilla Output Filter Widget

本文也發表於#osxchat blog

要不是 lukhnos 提起,我想我自己應該是記不得十月23日是 OpenVanilla 這個輸入法框架的週歲生日,於是在這天下午 OV 的開發者齊聚在多鬆咖啡店一同吃包子,順便寫出了一些小東西出來。 lukhnos 寫出了一個 OV 命令列工具,叫做 ovfilter,這個工具的用途在於可以在命令列下,接收傳入的 UTF-8 文字,然後透過各種現有的 OpenVanilla 0.7 下的輸出過濾模組(Output Filter),得到轉換的結果。

所謂的輸出過濾,就是各種文字轉換的工作,例如中文的簡繁體轉換,以 及英數字母的全半型轉換等,目前只能夠說已經在 Mac OS X 上,完成了完整的實做。在剛開發 0.7 的時候,各種輸出過濾功能都只設計在輸入法當中,如果想要在輸入法之外另外使用這些輸出模組,例如,想要單獨將一篇文章從繁體轉換成簡體,這樣的功能之前 在 Mac OS X則是放在 OpenVanilla 的偏好設定工具裡;lukhnos 的命令列工具,則是進一步拆開來,讓這些過濾模組可以更廣泛應用在其他地方。

OpenVanilla Filter Widget例 如,在 Mac OS X 10.4 Tiger 上,就可以用 Dashboard Widget 包裝這些過濾模組。如右圖,只需要在上方的文字輸入區中,輸入您要轉換的文字,然後使用中間的下拉選單切換要使用的模組,按下一下下方的 「Convert」,就可以完成轉換了,圖中就是將繁體中文轉換成簡體中文的結果。因為 Dashboard 是常駐在背景,因此,當您需要使用 OV 提供的轉換功能時,便可以相當方便的呼叫使用。

您現在可以在 OpenVanilla 的 svn trunk 中,找到這個 Widget(連結),也可以直接從OpenVanilla的下載區中直接下載(下載)。當然,在使用之前,您必須先安裝 OpenVanilla 0.7.1 以及 ovfilter(下載),並且將 ovfilter 設定為可執行檔(在命令列中,下 chmod 755 ovfilter)指令),然後將 ovfilter 搬移(或複製)到 /usr/local/bin 目錄下。

您也可以參考 lukhnos 在前篇〈ovfilter: 命令列版的 OV 文字輸出模組〉文中的說明。

桌面時光機

感謝hlb提供的點子。

我之前亂寫了一個AppleScipt小程式(請參見〈用 AppleScript 呼叫 shell script〉這篇文章),這個小程式的用途是在MacOS X環境下,把桌面檔案一次清空,然後自動根據目前時間,作為目錄名稱建立一個新目錄,將桌面檔案備份到這個目錄之下,這個程式的用途主要來自於我的工作習慣:在做某件工作的時候,往往在桌面上把檔案存得亂七八糟,在進行下一件工作的時候,就需要先請理一下桌面,然後又再乾淨的桌面上存上個亂七八糟的檔案,而日後可以根據清理時間、或用 Spotlight 找回之前的檔案。

hlb說,這個小程式可以配合Deviant使用。Deviant 的用途是會在上方的選單列上,再添加一個子選單,然後在這個子選單中,讓你選擇將目前的桌面,切換到另外一個目錄中。換言之,這兩個程式搭配使用的結果就是,您可以有許多天不同的桌面目錄,並且可以輕鬆切換到某一天的桌面;或是說,「桌面時光機」。

話說回來,不知道像Desktop Manager這類的多重虛擬桌面工具,有沒有可以在不同的虛擬桌面上,切換使用不同的桌面目錄功能呢?

關於字典 widget 的雅虎奇摩字典方面的問題

這兩天雅虎奇摩英漢字典稍有改版,加入了一個即時發音功能,而這麼一改版,就造成之前的字典 widget 在分析頁面的時候出現錯誤。昨天晚上花了一點時間研究,似乎是之前的程式在處理&;lt;object>語法的時候,有一些衝突,但是還是沒有清楚找到問題的癥結(JavaScript實在很難debug)。

這兩天事情比較多,週末再來慢慢解決。

用 AppleScript 呼叫 shell script

Mac OS X 提供至少兩種的 Scripting 的方式。一種是承繼 Classic Mac OS 而來的 AppleScript,AppleScript 是一套類似英文的語法,而我這一個月來都在玩這套東西,而因為兩三個星期前去撿來兩台舊型的麥金塔電腦來玩(一台 Mac SE 還有一台 LC,其中主要在玩那台 SE),玩了一下裡頭的 HyperCard,才知道原來 AppleScript 基本上就是沿用當年 HyperCard 的語法。

而因為 Mac OS X 的底層其實是 BSD,所以也可以使用各種 shell script,執行各種 unix 指令—某方面來說,Mac OS X有趣的地方就在於這套作業系統有來自各種平台的各種亂七八糟的東西,在底層有各種 unix 的功能可以使用,在 Aqua GUI 下又有繼承自 Classic Mac OS X 以及 NextStep 的玩意兒,也提供 X11 環境,彼此之間又可以互相呼叫。以 AppleScript 來說,便可以使用 do shell script 這個語法呼叫 shell script,所以,可以用 AppleScript 做為簡易的 GUI,然後用 shell script 進行各項其他的工作,而有些事情實在搞不清楚怎麼用 AppleScript 做的時候,拿 shell script 來幹,實在比較輕鬆愉快。

Continue reading