cht電腦資訊gcin
adm Find login register

GCIN + Emacs

料功益
joined: 2009-10-24
posted: 7
promoted:
bookmarked:
Storrs, CT. USA.
1subject: GCIN + Emacs Promote 0 Bookmark 02010-01-17quote  

不知道Gcin可不可以像Scim-bridge那樣,可以從別的程式呼叫輸入法。

我想用gcin來寫一個給Emacs用的輸入法,我有發現gcin提供了

libgcin-im-client.so.1但我不知道如何寫一個程式來呼叫這個lib

如不棄, 煩請各位提供建議

 謝謝!

eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
2subject: Promote 0 Bookmark 02010-01-17quote  

可以參考 gcin source 裏面的 gcin-x.x.x/gtk-im/gtkimcontextgcin.c

也就是 gcin's GTK  IM module

與 scim 比一下大小 就知道困難度,應該是不難。有問題再問。

/usr/lib/gtk-2.0/immodules/im-gcin.so: 11140
/usr/lib/gtk-2.0/immodules/im-scim.so: 133360

/usr/lib/gcin/libgcin-im-client.so.1.2.1 13388

edited: 1
料功益
joined: 2009-10-24
posted: 7
promoted:
bookmarked:
Storrs, CT. USA.
3subject: Promote 0 Bookmark 02010-01-17quote  

我想我可能不必作到像 im-gcin.so那麼複雜的功能, 

只要知道gcin的socket在哪, 連上去,輸入中文,

結束,關掉client

如此而已, 不知有什麼比較簡單的approach?

eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
4subject: Promote 0 Bookmark 02010-01-17quote  

可以直接看 gcin-im-client.h裏面的 function,不明白再參考 gtkimcontextgcin.c。

直接連上 gcin 的 socket 操作不是正確的作法,這就等於做了 libgcin-im-client.so 裏面的事, 透過 libgcin-im-client.so 的 function 應該比較簡單。

料功益
joined: 2009-10-24
posted: 7
promoted:
bookmarked:
Storrs, CT. USA.
5subject: Promote 0 Bookmark 02010-01-17quote  

看來要跟SCIM一樣,要寫一個agent,讓這個agent當handler,再讓Emacs連到這個handler了

eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
6subject: Promote 0 Bookmark 02010-01-17quote  
Gong-Yi

看來要跟SCIM一樣,要寫一個agent,讓這個agent當handler,再讓Emacs連到這個handler了

為什麼要那麼複雜?emacs 的 plugin 不可以 call C function ?

料功益
joined: 2009-10-24
posted: 7
promoted:
bookmarked:
Storrs, CT. USA.
7subject: Promote 0 Bookmark 02010-01-17quote  

好像是沒辦法,要寫一個agent執行,然後再讓Emacs以IPC的方式連上去 

gcin支援dbus嗎?

eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
8subject: Promote 0 Bookmark 02010-01-17quote  

如果真的不行,把 im-client/gcin-im-client.cpp

改成用 emacs 直接用 socket IPC,只是 protocol有變動,必須也跟著變。目前是很少有變動。

caleb
joined: 2007-09-22
posted: 630
promoted: 134
bookmarked: 90
9subject: Promote 0 Bookmark 02010-01-18quote  

uim 也有 emacs plugin 可以查查看。

不過我沒研究 uim/scim 是怎麼實作的。 

料功益
joined: 2009-10-24
posted: 7
promoted:
bookmarked:
Storrs, CT. USA.
10subject: Promote 0 Bookmark 02010-01-18quote  
感謝,我試試看能不能改改UIM的Lisp給gcin用

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