OpenVanilla 輸入法專案開始嘗試透過 WebKit ,在 Mac OS X 上設計選字窗介面這件事情,從算是開始進行以來,也大概快要一年了,不過,大概從去年九月之後,似乎都沒有再去動過這部份的程式。
上個週末心血來潮,把之前的程式碼重新看了一下,一方面找到原本無法成功使用透明視窗背景的問題癥結,另一方面也參考了蘋果的開發者網站上的範例程式,搞清楚怎樣做出無框視窗。雖然距離告一段落、能夠正式釋出還有一段距離,不過,應該是比之前狀況,堪用得多。接下來,又繼續做了一些選字框介面的實驗。
所謂用 Webkit 製作選字框介面的意思是這樣的:在目前的 0.7.2 版上的選字窗,是先畫出一個視窗,然後直接在視窗上放一個跟這個視窗一樣大小的文字元件;而目前在做的事情則是,我們在選字框裡頭放了一個小小的網頁瀏覽器(也就是 Webkit),透過網頁方式呈現輸入法的候選字清單,方法是,Cocoa 可以從外部將 JavaScript 指令傳到 Webkit 瀏覽器中,所以,像更新選字窗內容、關閉選字窗這些事情,只要透過網頁技術完成即可。—透過不同的網頁樣式設計,便可以得到不同風格的輸入法使用介面,每一種不同的輸入法介面,也可以透過個別的 JavaScript 程式碼,設計不同的行為,甚至(因為是網頁嘛),在輸入法中,還可以呼叫 Flash 影片啦、Google 地圖啦…諸如此類。
或這麼說:你現在可以在 Dashboard 上看到的 widget,只要稍微改寫個幾行,就可以改成 OpenVanilla 的選字窗。反之,OpenVanilla 的選字窗,也可以放在 Dashboard 上。