2008年8月31日 星期日

SUSE 中的 qt4-immodule

gcin 從 1.4.3.pre5 開始支援了 qt4-immodule
因為一些預設的路徑和 mandriva 不一樣
所以在 SUSE/openSUSE 上自行編譯新版 gcin 時需要做一些小修改

要編譯 gcin 的 qt4-immodule 需要先安裝 libqt4-devel 及其相依的套件
在 ./configure 時,程式會檢查系統中是否存在
/usr/lib/qt3/plugins/lib/inputmethods (for qt3-immodule)
/usr/lib/qt4/plugins/lib/inputmethods (for qt4-immodule)
但是在 SUSE 中的路徑是
/usr/$LIB/qt3/plugins/inputmethods (for qt3-immodule)
/usr/$LIB/qt4/plugins/inputmethods (for qt4-immodule)
其中的 $LIB 是 lib 或 lib64
所以這部份要修改

而 qt4-im/Makefile 中相對應的一些變數就要跟著變更
...
QTIM=$(QT)/plugins/inputmethods
...
QTINC=/usr/$(LIB)/$(QT)/include
...
LDFLAGS=-L/usr/$(LIB)/$(QT) -L/usr/X11R6/$(LIB) -L../im-client -lQtGui -lQtCore -lmng -ljpeg -lpng -lz \
-lXrender -lXrandr -lXft -lfontconfig -lgcin-im-client \
-lXext -lX11 -lm -lSM -lICE -ldl -lpthread

...
/usr/$(LIB)/$(QT)/bin/moc $< -o moc_gcin-qt.cpp
...

若不需要自己編譯
可以用 swyear 套件庫安裝(升級) gcin 即可
參考:http://cle.linux.org.tw/trac/wiki/GcinInstallSuse
㊣openSUSE 10.2 或更新版本才支援 qt4-immodule
SLE 10 在此套件庫中不支援,您得自己編譯了

使用 gtk/qt4(3)-immodule 有什麼好處,
您可以自行參考 gcin 使用手冊(新版比以前清晰好看許多)
(安裝 gcin 後就在您的 /usr/share/doc/packages/gcin/README.html)
或使用 gcin-setup -> 求助(H) 就可以看到
在此直接引用:
  1. gcin 掛掉重新執行時比較不會有程式跟著一起掛掉的情形,現在可以直接在 gnome-terminal 下, pkill gcin ,不用擔心 gnome-terminal 會停在那邊不動 (mozilla-gtk2 除外,這是因為如果你有安裝 flash player,flash 會 open XIM 的 sesseion,X11 裏面的 XIM close 時在 server當掉時也會跟著當掉。)。

  2. GTK2/QT 的程式 locale 即使設定成 zh_TW.Big5 也還是可以輸入所有的 UTF-8 字。

  3. 詞音由於現在有了 key release event,現在也可以用 Shift 來切換中/英。

  4. gcin 的協定對 input focus 的處理比 XIM 好。

  5. client 直接 對 gcin server 互傳資料,不透過 X server,延遲會比較少。

  6. 如果發現 gcin server 沒有在執行,會自動執行 gcin。


gcin 官方網站:http://hyperrate.com/dir.php?eid=67

沒有留言: