| |||||||
adm | Find | login register |
scim gtk immodule 是跟 GTK apps 同生共死的。 舉例來說,開個 leafpad 就會生一個 scim immodule 出來,關掉 leafpad 時 immodule 也會隨風而去。
gcin 的作法是有一個 standalone IM server,提供 XIM / gcin protocol 兩種 service。 gtk apps 啟動時若發現找不到 gcin,就會自動召喚一個出來,關掉 apps 時並不會叫 gcin server 順便陪葬。 如果 gtk apps 啟動時系統裡已經有 gcin server,則 apps 會直接透過 gcin protocol 跟 server 溝通。
兩種設計各有優缺點: 1. 對於「偶爾才用輸入法的人」來說,同生共死是比較好的。 2. 對於「常常需要輸入法的人」來說,standalone server 既方便又省資源(由apps 召喚出來的 gcin server 也支援 XIM)
程式實作上還有其它不同的考量,例如: 1. 不同的 GTK apps 是否應該各自擁有獨立的 immodule process?(開十個 apps 就有十隻 immodule process?) 2. 不同 user id / 使用不同 protocol 的 apps 是否能共用一個 system tray icon?(XIM 開一個 icon,immodule 開一個 icon,sudo 又開一個 icon…) 3. 其它還有,不過一時想不出來…XD
我覺得最好是能給 user 選擇啦…不過那就得實作一大堆選項和判斷… (我自行修改過會自殺的 gcin,不過效果太爛就放棄了…) | |||||||||||
| |||||||||||
我的比較恐怖(我不用 gnome/kde):
[edt1023@lgj ~]$ ps aux | wc |
| |||||||
adm | Find | login register |