cht電腦資訊gcin
adm Find login register

[分析] GTK immodule 是否該隨 app 關閉而消失

caleb
joined: 2007-09-22
posted: 630
promoted: 134
bookmarked: 90
1subject: [分析] GTK immodule 是否該隨 app 關閉而消失Promote 0 Bookmark 02007-12-24quote  

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,不過效果太爛就放棄了…)

本人已不在此站活動

joined: 2007-09-19
posted: 4946
promoted: 325
bookmarked: 206
歸隱山林
2subject: Promote 0 Bookmark 02007-12-25quote  

其實大家 ps aux 一看就會嚇一跳,如果是使用 gnome/kde 的,那會嚇二、三跳,一堆東東在記憶體裡頭,有些還滿龐大的。

所以,加一個小小的 gcin server 有差嗎?不懂?immodule 至少在開啟的時候會頓一下下吧?


本人已不在此站活動

joined: 2007-09-19
posted: 4946
promoted: 325
bookmarked: 206
歸隱山林
4subject: Promote 0 Bookmark 02007-12-26quote  

我的比較恐怖(我不用 gnome/kde):

 [edt1023@lgj ~]$ ps aux | wc
      95    1090    7398


cht電腦資訊gcin
adm Find login register
views:9313