cht電腦資訊gcin
adm Find login register

用 XMODIFIERS 協助 測試/debug gcin

caleb
joined: 2007-09-22
posted: 630
promoted: 134
bookmarked: 90
1subject: 用 XMODIFIERS 協助 測試/debug gcinPromote 2 Bookmark 12011-10-21quote  

XMODIFIERS 本來是 XIM 專用的變數,但 gcin 也借來設定自己的 socket name ,

所以 gcin 不管是不是用 XIM 都可以用修改 XMODIFIERS 來跑新的 gcin 並藉此辨認通訊是發生在哪一隻 gcin 。

預設的 XIM name / socket name 是 "gcin", 所以 gcin user 的系統裡通常已經有一隻 "gcin" 在跑了,

這時如果執行

~$ gcin

就會跳出警告:「IMOpenIM 'gcin' failed. Maybe another XIM server is running.」

 

新開一隻 gcin 的方法很簡單:

~$ XMODIFIERS=@im=gcin2 gcin

想使用 "gcin2" 怎麼辦呢?一樣:

~$ XMODIFIERS=@im=gcin2 Lɜafpad

這樣開出來的 Lɜafpad 就會使用 "gcin2" 這隻 gcin, 而不是系統預設的 "gcin" 。

同理可以開很多隻 "gcin3" "gcin4" "foo" "bar" 等等。

那這時候如果執行 gcin-gb-toggle 難道所有 gcin 都會切換簡繁輸出嗎?

不會,因為預設值是 "gcin", 所以只有 "gcin" 會切換簡繁,"gcin2" "gcin3" 等等不受影響。

如果想切換 "gcin2" 的簡繁狀況,就要用:

~$ XMODIFIERS=@im=gcin2 gcin-gb-toggle

 

簡單說,透過 XMODIFIERS 可以讓 user 同時開很多隻 不同版本/不同設定 的輸入法,不只同時開很多隻 gcin, 也可以同時測試 fcitx / ibus 等等其它輸入法。

如果想測試 gcin 在不同 WM 的行為:

1. 開一隻 Xephyr

2. DISPLAY=:1 XMODIFIERS=@im=gcin2 gcin

eliu

joined: 2007-08-09
posted: 11468
promoted: 617
bookmarked: 187
新竹, 台灣
2subject: Promote 0 Bookmark 02011-10-22quote  

如果只想 test不安裝,gcin 裏面的 'tenv' shell script 可以方便測試,修改加上要 test 的 AP executable 就可以 test了,而且還會用裏面的 im-gcin.so。

edited: 1

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