rpms/gcin/FC-6 .cvsignore, 1.12, 1.13 NewCJ3.cin, 1.4, 1.5 gcin.spec, 1.17, 1.18 gcin_gtab.patch, 1.1, 1.2 gcin_update.patch, 1.2, 1.3 im-client.patch, 1.5, 1.6 sources, 1.12, 1.13

Chung-Yen Chang (candyz) fedora-extras-commits at redhat.com
Tue Jan 30 02:20:52 UTC 2007


Author: candyz

Update of /cvs/extras/rpms/gcin/FC-6
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17755

Modified Files:
	.cvsignore NewCJ3.cin gcin.spec gcin_gtab.patch 
	gcin_update.patch im-client.patch sources 
Log Message:
update to 1.3.3


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/gcin/FC-6/.cvsignore,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- .cvsignore	1 Jan 2007 02:12:39 -0000	1.12
+++ .cvsignore	30 Jan 2007 02:20:21 -0000	1.13
@@ -1 +1 @@
-gcin-1.3.2.tar.bz2
+gcin-1.3.3.tar.bz2


Index: NewCJ3.cin
===================================================================
RCS file: /cvs/extras/rpms/gcin/FC-6/NewCJ3.cin,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- NewCJ3.cin	3 Dec 2006 07:27:37 -0000	1.4
+++ NewCJ3.cin	30 Jan 2007 02:20:21 -0000	1.5
@@ -3,6 +3,7 @@
 %cname 亂倉打鳥
 %selkey 123456789
 %keyname begin
+`  `
 '  、
 ,  ,
 .  。


Index: gcin.spec
===================================================================
RCS file: /cvs/extras/rpms/gcin/FC-6/gcin.spec,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- gcin.spec	1 Jan 2007 02:12:39 -0000	1.17
+++ gcin.spec	30 Jan 2007 02:20:21 -0000	1.18
@@ -1,5 +1,5 @@
 Name:           gcin
-Version:        1.3.2
+Version:        1.3.3
 Release:        1%{?dist}
 Summary:        Input method for Traditional Chinese
 
@@ -15,6 +15,7 @@
 Patch3:         configure.patch
 Patch4:         newcj3.patch
 Patch5:         gcin_gtab.patch
+Patch10:        gcin_update.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -30,6 +31,7 @@
 
 %prep
 %setup -q
+%patch10 -p1 -b .update
 %patch1 -p1 -b .im-client
 %patch2 -p1 -b .qt
 %patch3 -p1 -b .configure
@@ -110,6 +112,9 @@
 %{_libdir}/libgcin-im-client.so*
 
 %changelog
+* Tue Jan 30 2007 Chung-Yen Chang <candyz0416 at gmail.com> - 1.3.3-1
+- update to 1.3.3
+
 * Mon Jan 01 2007 Chung-Yen Chang <candyz0416 at gmail.com> - 1.3.2-1
 - update to 1.3.2
 

gcin_gtab.patch:

Index: gcin_gtab.patch
===================================================================
RCS file: /cvs/extras/rpms/gcin/FC-6/gcin_gtab.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- gcin_gtab.patch	1 Jan 2007 02:12:39 -0000	1.1
+++ gcin_gtab.patch	30 Jan 2007 02:20:21 -0000	1.2
@@ -15,14 +15,6 @@
      }
  
      free(tbuf[i]);
-@@ -814,6 +817,7 @@
- static void disp_selection(gboolean phrase_selected)
- {
-   char pgstr[32];
-+  ClrSelArea();
-   page_no_str(pgstr);
- 
-   if (!gtab_vertical_select && more_pg)
 @@ -838,7 +842,14 @@
    int i;
    for(i=ofs; i< cur_inmd->M_DUP_SEL + ofs; i++) {

gcin_update.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.2 -r 1.3 gcin_update.patch
Index: gcin_update.patch
===================================================================
RCS file: /cvs/extras/rpms/gcin/FC-6/gcin_update.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- gcin_update.patch	3 Dec 2006 07:27:38 -0000	1.2
+++ gcin_update.patch	30 Jan 2007 02:20:21 -0000	1.3
@@ -1,11 +1,3669 @@
---- gcin-1.3.1/gtab.h.orig	2006-11-22 15:15:11.000000000 +0800
-+++ gcin-1.3.1/gtab.h	2006-12-03 15:15:24.000000000 +0800
-@@ -104,7 +104,7 @@
- #define GTAB_LIST "gtab.list"
+diff -urN gcin-1.3.3.orig/Changelog gcin-1.3.3/Changelog
+--- gcin-1.3.3.orig/Changelog	2007-01-26 11:33:09.000000000 +0800
++++ gcin-1.3.3/Changelog	2007-01-28 11:12:15.000000000 +0800
+@@ -1,4 +1,9 @@
+ ** UTF-8 encoding **
++1.3.4:
++- 由於如果使用彈出式(popup) 輸入視窗,其實只有在顯示按鍵的時候需要移動視窗,這樣可以減少gcin在 firefox 一類 mozilla 家族程式的奇怪問題。現在也把popup 改成內定的選擇。
++- gtab 如果選用不讓錯誤鍵進入(非傳統),按下 space 時是無效的拆字,現在可以直接輸入下一個字,不用按 Escape 清除。
++- 「唯一選擇時自動送出」這個選項在某些時候會造成 coredump 的問題。
++- \ 現在可以定義輸入法了。
+ 1.3.3:
+ - 詞音新增同音字詞選擇鍵在後的選項,這樣做的好處是當你由左到右看到某個字詞符合後,就不用再回頭看是那一個鍵。
+ - 詞音Tab 斷詞改成可以在任意地方按,代表詞從這邊開頭,如果在結尾按則代表把最後一個字當開頭。例如輸入「他示意蜘蛛」,我們想要的是「他是一隻豬」,這時直接在結尾按 Tab 一次就可以了,代表把豬當成一個單字的詞。當使用者自己按空白鍵選詞時,會把這個手動斷詞清除。不過很可惜的,在某些程式不能用,例如 gedit,因為 gedit沒有把  Tab key 傳給 gcin 處理。為了解決這個問題,也可以改按 Escape。
+@@ -15,7 +20,7 @@
+ - 由某位提供的 ./configure --use_tray=N,不想要 tray 時可以用此選項。
+ - alsa2 與 im-client 起衝突的問題,造成 flash player coredump。必須 update libgcin-im-client.so。
+ - 為了解決 flashplayer 當掉的問題,XIM 的 IMdkit 換成 scim 的,現在不用 unset XMODIFIERS 似乎也不會當了。如果你必須經常重新啟動 gcin 最好還是在 firefox 的 start-script 裏面用 unset XMODIFIERS,因為新的 IMdkit 在 gcin 重新啟動有時候還是會造成正在執行的 firefox coredump。而且這樣可以節省 memory。
+-- gtab 唯一選擇時自動送出的新選項。例如我們在倉頡裏面定義定義「benq 明基」,當按到 ben 時,由於此時沒有其他的是符合 'ben*',這時候就會自動送出。
++- gtab 唯一選擇時自動送出的新選項。例如我們在倉頡裏面定義「benq 明基」,當按到 ben 時,由於此時沒有其他的是符合 'ben*',這時候就會自動送出。
+ - []\ 現在也可以用來切換輸入法了。已經把拉丁字母及帶調粵拼放上去。
  
+ 1.3.2:
+diff -urN gcin-1.3.3.orig/data/gtab.list gcin-1.3.3/data/gtab.list
+--- gcin-1.3.3.orig/data/gtab.list	2007-01-26 09:37:46.000000000 +0800
++++ gcin-1.3.3/data/gtab.list	2007-01-27 16:34:31.000000000 +0800
+@@ -18,3 +18,4 @@
+ greek ` greek.gtab greek.png
+ latin-letters [ latin-letters.gtab latin-letters.png
+ 帶調粵拼 ] jyutping.gtab
++亂倉打鳥 \ NewCJ3.gtab NewCJ3.png
+diff -urN gcin-1.3.3.orig/data/tsin.src gcin-1.3.3/data/tsin.src
+--- gcin-1.3.3.orig/data/tsin.src	2007-01-26 11:44:17.000000000 +0800
++++ gcin-1.3.3/data/tsin.src	2007-01-28 11:30:37.000000000 +0800
+@@ -123,7 +123,6 @@
+ 癌症 ㄞ2 ㄓㄥ4 0
+ 矮了一截 ㄞ3 ㄌㄜ1 ㄧ4 ㄐㄧㄝ2 0
+ 矮靈祭 ㄞ3 ㄌㄧㄥ2 ㄐㄧ4 0
+-矮小 ㄞ3 ㄒㄧㄠ3 0
+ 矮人一截 ㄞ3 ㄖㄣ2 ㄧ4 ㄐㄧㄝ2 0
+ 愛爾蘭 ㄞ4 ㄦ3 ㄌㄢ2 0
+ 愛爾蘭人 ㄞ4 ㄦ3 ㄌㄢ2 ㄖㄣ2 0
+@@ -1200,7 +1199,6 @@
+ 壓迫 ㄧㄚ ㄆㄛ4 0
+ 壓迫感 ㄧㄚ ㄆㄛ4 ㄍㄢ3 0
+ 鴉片 ㄧㄚ ㄆㄧㄢ4 0
+-鴨毛 ㄧㄚ ㄇㄠ2 0
+ 壓倒 ㄧㄚ ㄉㄠ3 0
+ 壓倒性多數 ㄧㄚ ㄉㄠ3 ㄒㄧㄥ4 ㄉㄨㄛ ㄕㄨ4 0
+ 壓倒性勝利 ㄧㄚ ㄉㄠ3 ㄒㄧㄥ4 ㄕㄥ ㄌㄧ4 0
+@@ -2771,7 +2769,6 @@
+ 硬紙板 ㄧㄥ4 ㄓ3 ㄅㄢ3 0
+ 硬著頭皮 ㄧㄥ4 ㄓㄜ1 ㄊㄡ2 ㄆㄧ2 0
+ 應召女郎 ㄧㄥ4 ㄓㄠ ㄋㄩ3 ㄌㄤ2 0
+-應戰 ㄧㄥ4 ㄓㄢ4 0
+ 應徵 ㄧㄥ4 ㄓㄥ 0
+ 應酬 ㄧㄥ4 ㄔㄡ2 0
+ 硬撐 ㄧㄥ4 ㄔㄥ 0
+@@ -3069,7 +3066,6 @@
+ 五峰 ㄨ3 ㄈㄥ 0
+ 五峰鄉 ㄨ3 ㄈㄥ ㄒㄧㄤ 0
+ 五福臨門 ㄨ3 ㄈㄨ2 ㄌㄧㄣ2 ㄇㄣ2 0
+-五大湖 ㄨ3 ㄉㄚ4 ㄏㄨ2 0
+ 五大洲 ㄨ3 ㄉㄚ4 ㄓㄡ 0
+ 舞刀弄槍 ㄨ3 ㄉㄠ ㄋㄨㄥ4 ㄑㄧㄤ 0
+ 舞蹈 ㄨ3 ㄉㄠ4 0
+@@ -3196,7 +3192,6 @@
+ 悟性 ㄨ4 ㄒㄧㄥ4 0
+ 物質 ㄨ4 ㄓ2 0
+ 物質不滅定律 ㄨ4 ㄓ2 ㄅㄨ2 ㄇㄧㄝ4 ㄉㄧㄥ4 ㄌㄩ4 0
+-誤診 ㄨ4 ㄓㄣ3 0
+ 物種 ㄨ4 ㄓㄨㄥ3 0
+ 誤差 ㄨ4 ㄔㄚ 0
+ 物超所值 ㄨ4 ㄔㄠ ㄙㄨㄛ3 ㄓ2 0
+@@ -3507,7 +3502,6 @@
+ 維多利亞 ㄨㄟ2 ㄉㄨㄛ ㄌㄧ4 ㄧㄚ3 0
+ 維他命 ㄨㄟ2 ㄊㄚ ㄇㄧㄥ4 0
+ 維他命A ㄨㄟ2 ㄊㄚ ㄇㄧㄥ4 ㄚ 0
+-維他命K ㄨㄟ2 ㄊㄚ ㄇㄧㄥ4 ㄜ 0
+ 維他命E ㄨㄟ2 ㄊㄚ ㄇㄧㄥ4 ㄧ 0
+ 維他命B ㄨㄟ2 ㄊㄚ ㄇㄧㄥ4 ㄅ 0
+ 維他命B1 ㄨㄟ2 ㄊㄚ ㄇㄧㄥ4 ㄅ 1 0
+@@ -3542,7 +3536,6 @@
+ 微乎其微 ㄨㄟ2 ㄏㄨ ㄑㄧ2 ㄨㄟ2 0
+ 維護 ㄨㄟ2 ㄏㄨ4 0
+ 危機 ㄨㄟ2 ㄐㄧ 0
+-危機意識 ㄨㄟ2 ㄐㄧ ㄧ4 ㄕ4 0
+ 危機感 ㄨㄟ2 ㄐㄧ ㄍㄢ3 0
+ 危機重重 ㄨㄟ2 ㄐㄧ ㄔㄨㄥ2 ㄔㄨㄥ2 0
+ 危機四伏 ㄨㄟ2 ㄐㄧ ㄙ4 ㄈㄨ2 0
+@@ -3748,7 +3741,6 @@
+ 衛士 ㄨㄟ4 ㄕ4 0
+ 衛視電影台 ㄨㄟ4 ㄕ4 ㄉㄧㄢ4 ㄧㄥ3 ㄊㄞ2 0
+ 衛視中文台 ㄨㄟ4 ㄕ4 ㄓㄨㄥ ㄨㄣ2 ㄊㄞ2 0
+-為什麼 ㄨㄟ4 ㄕㄜ2 ㄇ1 0
+ 為什麼 ㄨㄟ4 ㄕㄜ2 ㄇㄛ1 0
+ 畏首畏尾 ㄨㄟ4 ㄕㄡ3 ㄨㄟ4 ㄨㄟ3 0
+ 偽善 ㄨㄟ4 ㄕㄢ4 0
+@@ -4424,7 +4416,6 @@
+ 欲哭無淚 ㄩ4 ㄎㄨ ㄨ2 ㄌㄟ4 0
+ 癒合 ㄩ4 ㄏㄜ2 0
+ 遇害 ㄩ4 ㄏㄞ4 0
+-禦寒 ㄩ4 ㄏㄢ2 0
+ 慾火 ㄩ4 ㄏㄨㄛ3 0
+ 慾火焚身 ㄩ4 ㄏㄨㄛ3 ㄈㄣ2 ㄕㄣ 0
+ 浴火重生 ㄩ4 ㄏㄨㄛ3 ㄔㄨㄥ2 ㄕㄥ 0
+@@ -4836,7 +4827,6 @@
+ 運費 ㄩㄣ4 ㄈㄟ4 0
+ 孕婦 ㄩㄣ4 ㄈㄨ4 0
+ 孕婦裝 ㄩㄣ4 ㄈㄨ4 ㄓㄨㄤ 0
+-運到 ㄩㄣ4 ㄉㄠ4 0
+ 熨斗 ㄩㄣ4 ㄉㄡ3 0
+ 運動 ㄩㄣ4 ㄉㄨㄥ4 0
+ 運動量 ㄩㄣ4 ㄉㄨㄥ4 ㄌㄧㄤ4 0
+@@ -5594,7 +5584,6 @@
+ 鮑魚 ㄅㄠ4 ㄩ2 0
+ 暴雨 ㄅㄠ4 ㄩ3 0
+ 抱怨 ㄅㄠ4 ㄩㄢ4 0
+-報備 ㄅㄠ4 ㄅㄟ4 0
+ 報表 ㄅㄠ4 ㄅㄧㄠ3 0
+ 鉋冰 ㄅㄠ4 ㄅㄧㄥ 0
+ 抱病 ㄅㄠ4 ㄅㄧㄥ4 0
+@@ -5629,7 +5618,6 @@
+ 暴跳如雷 ㄅㄠ4 ㄊㄧㄠ4 ㄖㄨ2 ㄌㄟ2 0
+ 暴殄天物 ㄅㄠ4 ㄊㄧㄢ3 ㄊㄧㄢ ㄨ4 0
+ 暴徒 ㄅㄠ4 ㄊㄨ2 0
+-報了一箭之仇 ㄅㄠ4 ㄌㄜ1 ㄧ2 ㄐㄧㄢ4 ㄓ ㄔㄡ2 0
+ 暴露 ㄅㄠ4 ㄌㄡ4 0
+ 爆冷門 ㄅㄠ4 ㄌㄥ3 ㄇㄣ2 0
+ 暴利 ㄅㄠ4 ㄌㄧ4 0
+@@ -5780,7 +5768,6 @@
+ 拌和 ㄅㄢ4 ㄏㄜ2 0
+ 扮黑臉 ㄅㄢ4 ㄏㄟ ㄌㄧㄢ3 0
+ 辦後事 ㄅㄢ4 ㄏㄡ4 ㄕ4 0
+-辦家家酒 ㄅㄢ4 ㄐㄧㄚ ㄐㄧㄚ ㄐㄧㄡ3 0
+ 半價 ㄅㄢ4 ㄐㄧㄚ4 0
+ 絆腳 ㄅㄢ4 ㄐㄧㄠ3 0
+ 半斤八兩 ㄅㄢ4 ㄐㄧㄣ ㄅㄚ ㄌㄧㄤ3 0
+@@ -5822,7 +5809,6 @@
+ 本月 ㄅㄣ3 ㄩㄝ4 0
+ 本月份 ㄅㄣ3 ㄩㄝ4 ㄈㄣ4 0
+ 本部 ㄅㄣ3 ㄅㄨ4 0
+-本票 ㄅㄣ3 ㄆㄧㄠ4 0
+ 本末倒置 ㄅㄣ3 ㄇㄛ4 ㄉㄠ3 ㄓ4 0
+ 本份 ㄅㄣ3 ㄈㄣ4 0
+ 本黨 ㄅㄣ3 ㄉㄤ3 0
+@@ -6628,7 +6614,6 @@
+ 不健康 ㄅㄨ2 ㄐㄧㄢ4 ㄎㄤ 0
+ 不禁 ㄅㄨ2 ㄐㄧㄣ 0
+ 不進反退 ㄅㄨ2 ㄐㄧㄣ4 ㄈㄢ3 ㄊㄨㄟ4 0
+-不盡相同 ㄅㄨ2 ㄐㄧㄣ4 ㄒㄧㄤ ㄊㄨㄥ2 0
+ 不盡然 ㄅㄨ2 ㄐㄧㄣ4 ㄖㄢ2 0
+ 不進則退 ㄅㄨ2 ㄐㄧㄣ4 ㄗㄜ2 ㄊㄨㄟ4 0
+ 不具 ㄅㄨ2 ㄐㄩ4 0
+@@ -6657,7 +6642,6 @@
+ 不治之症 ㄅㄨ2 ㄓ4 ㄓ ㄓㄥ4 0
+ 不振 ㄅㄨ2 ㄓㄣ4 0
+ 不正當 ㄅㄨ2 ㄓㄥ4 ㄉㄤ 0
+-不正確 ㄅㄨ2 ㄓㄥ4 ㄑㄩㄝ4 0
+ 不正確的 ㄅㄨ2 ㄓㄥ4 ㄑㄩㄝ4 ㄉ1 0
+ 不正常 ㄅㄨ2 ㄓㄥ4 ㄔㄤ2 0
+ 不正常的 ㄅㄨ2 ㄓㄥ4 ㄔㄤ2 ㄉ1 0
+@@ -7312,7 +7296,6 @@
+ 培訓 ㄆㄟ2 ㄒㄩㄣ4 0
+ 培訓班 ㄆㄟ2 ㄒㄩㄣ4 ㄅㄢ 0
+ 培植 ㄆㄟ2 ㄓ2 0
+-陪著 ㄆㄟ2 ㄓㄜ1 0
+ 賠償 ㄆㄟ2 ㄔㄤ2 0
+ 陪審團 ㄆㄟ2 ㄕㄣ3 ㄊㄨㄢ2 0
+ 賠上 ㄆㄟ2 ㄕㄤ4 0
+@@ -7622,7 +7605,6 @@
+ 飄蕩 ㄆㄧㄠ ㄉㄤ4 0
+ 飄來飄去 ㄆㄧㄠ ㄌㄞ2 ㄆㄧㄠ ㄑㄩ4 0
+ 漂流 ㄆㄧㄠ ㄌㄧㄡ2 0
+-飄流 ㄆㄧㄠ ㄌㄧㄡ2 0
+ 漂亮 ㄆㄧㄠ ㄌㄧㄤ4 0
+ 飄過去 ㄆㄧㄠ ㄍㄨㄛ4 ㄑㄩ4 0
+ 飄忽不定 ㄆㄧㄠ ㄏㄨ ㄅㄨ2 ㄉㄧㄥ4 0
+@@ -7681,7 +7663,6 @@
+ 片麻岩 ㄆㄧㄢ4 ㄇㄚ2 ㄧㄢ2 0
+ 片面 ㄆㄧㄢ4 ㄇㄧㄢ4 0
+ 片面之詞 ㄆㄧㄢ4 ㄇㄧㄢ4 ㄓ ㄘ2 0
+-騙得團團轉 ㄆㄧㄢ4 ㄉㄜ2 ㄊㄨㄢ2 ㄊㄨㄢ2 ㄓㄨㄢ4 0
+ 騙到 ㄆㄧㄢ4 ㄉㄠ4 0
+ 遍地 ㄆㄧㄢ4 ㄉㄧ4 0
+ 片斷 ㄆㄧㄢ4 ㄉㄨㄢ4 0
+@@ -7845,7 +7826,6 @@
+ 平行線 ㄆㄧㄥ2 ㄒㄧㄥ2 ㄒㄧㄢ4 0
[...3286 lines suppressed...]
++   In R5 Ximp IMProtocol model, all the event structures have the
++following common members:
++
++typedef struct {
++    INT32 type;		/* message type */
++    CARD32 icid;	/* input context ID */
++    Window focus_win;	/* focus window */
++    long fwin_sel_mask; /* focus window select-mask */
++    CARD32 ximp_type_mask; /* Ximp event flow type */
++    Window client_win;	/* client window */
++} XIMPAnyStruct;
++
++   The type member specifies the Ximp IMProtocol type constant name that
++uniquely identies itself.
++   In addition to the individual structures declared for each Ximp
++XIMProtocol type, the Ximp IMProtocol structure is a union of the
++individual structures declared for each Ximp IMProtocol type. Depending
++on the type, you should access members of each Ximp IMProtocol by using
++the XIMProtocol union.
++
++typedef union _IMPProtocol {
++    int				type;
++    XIMPAnyStruct		any;
++    XIMPKeyEventStruct		keyevent;
++    XIMPICValuesStruct		create;
++    XIMPICValuesStruct		setvalue;
++    XIMPICValuesStruct		getvalue;
++    XIMPAnyStruct		destroy;
++    XIMPAnyStruct		regkey;
++    XIMPAnyStruct		setfocus;
++    XIMPAnyStruct		unsetfocus;
++    XIMPClientWindowStruct	clientwin;
++    XIMPFocusWindowStruct	focuswin;
++    XIMPMoveStruct		move;
++    XIMPEventMaskNotifyStruct	evmasknotify;
++    XIMPExtensionStruct		extension;
++    XIMPReadPropStruct		readprop;
++    XIMPResetStruct		reset;
++    XIMPCommitStringStruct	commitstring;
++    XIMPErrorStruct		error;
++    XIMPAnyStruct		geometry_cb;
++    XIMPPreeditCBStruct		preedit_cb;
++    XIMPStatusCBStruct		status_cb;
++    long			pad[24];
++} IMPProtocol;
++
++   The first entry of any XIMProtocol structure is always the
++type member, which specifies the Ximp IMProtocol type.
++
++4.   Writing IMservers
++
++When writing an IMserver that uses the IMdkit, you should make sure that
++your IMserver performs the following:
++
++   1. Include <X11/Xlib.h> in your IMserver programs.
++
++   2. Include <X11/Ximd/IMdkit.h>. This header file defines all the
++   necessary data types and IMdkit functions that you need to use.
++
++   3. Include <X11/Ximd/Xi18n.h> for R6 standard IMProtocol, or
++   <X11/Ximd/Ximp.h> for R5 Ximp IMProtocol, respectively.
++
++   4. Call the IMOpenIM function with all the necessary IMValues to
++   initialize the connection. The names of each IMValues have a global
++   symbol that begins with IM to help catch spelling errors. For
++   example, IMModifiers is defined for the XIMProtocol model, and
++   IMLocale is defined for the locale resource. For further information,
++   see "Section 1.1 Open IM Service" and Section 2 "IMValues"
++
++   5. To set additional IMValues or override the existing IMValues you
++   set by IMOpenIM, use IMSetIMValues. You can also use IMGetIMValues to
++   look up at existing IMValues. Note that some of IMValues must be set
++   at the IM service creation time, and never be changed by
++   IMSetIMValues.
++
++   6. You must set the IMProtocol callback routine by the
++   IMProtocolHandler argument with IMOpenIM or IMSetIMValues functions.
++   This callback is called whenever the IMProtocol is delivered by XIM
++   clients.
++
++   7. Now you should select all the necessary X events for your windows
++   with XSelectInput function, and map the windows with XMapWindow
++   function, then sit in a loop processing events as follows.
++
++    for (;;) {
++	XEvent event;
++	XNextEvent(your_display, &event);
++	if (XFilterEvent(&event, NULL) == True)
++	  continue;
++	YourXEventHandler(&event);
++    }
++
++   Here, all the IMProtocols you need are passed to your IMProtocol
++   callback routine by X Filtering mechanism of XFilterEvent function,
++   and all unfiltered X events you want are passed to YourXEventHandler
++   function above.
++
++   8. Link your IMserver with libXimd (the IMdkit library) and libX11
++   (the core X library). The following provides a sample command line:
++
++	cc -o sampleIM sampleIM.c -lXimd -lX11
+diff -urN gcin-1.3.3.orig/im-srv/im-dispatch.c gcin-1.3.3/im-srv/im-dispatch.c
+--- gcin-1.3.3.orig/im-srv/im-dispatch.c	2007-01-22 00:54:10.000000000 +0800
++++ gcin-1.3.3/im-srv/im-dispatch.c	2007-01-28 10:46:24.000000000 +0800
+@@ -182,6 +182,12 @@
+         cs->b_raise_window = TRUE;
+ //        dbg("********* raise * window\n");
+       }
++
++      int rflags = 0;
++      if (gcin_pop_up_win)
++        rflags = FLAG_GCIN_srv_ret_status_use_pop_up;
++
++      write_enc(fd, &rflags, sizeof(rflags));
+       break;
+     default:
+       dbg_time("Invalid request %x from:", req.req_no);
+diff -urN gcin-1.3.3.orig/tscr/tscim gcin-1.3.3/tscr/tscim
+--- gcin-1.3.3.orig/tscr/tscim	2007-01-23 17:32:51.000000000 +0800
++++ gcin-1.3.3/tscr/tscim	2007-01-28 09:51:39.000000000 +0800
+@@ -13,4 +13,5 @@
+ #leafpad
+ #amsn
+ #abiword
+-firefox
++export LD_LIBRARY_PATH=/usr/lib/firefox
++$LD_LIBRARY_PATH/mozilla-firefox-bin
+diff -urN gcin-1.3.3.orig/tsin.c gcin-1.3.3/tsin.c
+--- gcin-1.3.3.orig/tsin.c	2007-01-17 10:10:30.000000000 +0800
++++ gcin-1.3.3/tsin.c	2007-01-27 09:35:30.000000000 +0800
+@@ -1294,15 +1294,13 @@
+           return 1;
+         }
+ 
+-        if (tsin_tab_phrase_end) {
++        if (tsin_tab_phrase_end && c_len > 1) {
+ tab_phrase_end:
+           if (c_idx==c_len)
+             chpho[c_idx-1].flag |= FLAG_CHPHO_PHRASE_USER_HEAD;
+           else
+             chpho[c_idx].flag |= FLAG_CHPHO_PHRASE_USER_HEAD;
+-#if 1
+            call_tsin_parse();
+-#endif
+           return 1;
+         } else {
+           if (c_len) {
+diff -urN gcin-1.3.3.orig/VERSION.gcin gcin-1.3.3/VERSION.gcin
+--- gcin-1.3.3.orig/VERSION.gcin	2007-01-26 11:31:36.000000000 +0800
++++ gcin-1.3.3/VERSION.gcin	2007-01-28 11:13:40.000000000 +0800
+@@ -1 +1 @@
+-1.3.3
++1.3.4.pre1
+diff -urN gcin-1.3.3.orig/win0.c gcin-1.3.3/win0.c
+--- gcin-1.3.3.orig/win0.c	2007-01-16 09:16:38.000000000 +0800
++++ gcin-1.3.3/win0.c	2007-01-28 11:01:11.000000000 +0800
+@@ -665,8 +665,10 @@
+ //  dbg("show_win0 b\n");
+   show_win_sym();
  #if 1
--#define NEED_SWAP (__BYTE_ORDER == __BIG_ENDIAN && 1)
-+#define NEED_SWAP (__BYTE_ORDER == __BIG_ENDIAN && 0)
- #else
- #define NEED_SWAP (1)
+-  if (current_CS->b_raise_window)
++  if (current_CS->b_raise_window) {
+     gtk_window_present(gwin0);
++    raise_tsin_selection_win();
++  }
  #endif
+ }
+ 
+diff -urN gcin-1.3.3.orig/win1.c gcin-1.3.3/win1.c
+--- gcin-1.3.3.orig/win1.c	2007-01-16 09:21:21.000000000 +0800
++++ gcin-1.3.3/win1.c	2007-01-28 11:00:50.000000000 +0800
+@@ -112,6 +112,12 @@
+ #endif
+ }
+ 
++void raise_tsin_selection_win()
++{
++  if (gwin1 && GTK_WIDGET_VISIBLE(gwin1))
++    gtk_window_present(gwin1);
++}
++
+ 
+ void hide_selections_win()
+ {
+diff -urN gcin-1.3.3.orig/win-inmd-switch.c gcin-1.3.3/win-inmd-switch.c
+--- gcin-1.3.3.orig/win-inmd-switch.c	2006-08-03 14:50:05.000000000 +0800
++++ gcin-1.3.3/win-inmd-switch.c	2007-01-28 14:21:49.000000000 +0800
+@@ -16,7 +16,7 @@
+   menu = gtk_menu_new ();
+ 
+   int i;
+-  for(i=0; i < MAX_GTAB_NUM_KEY; i++) {
++  for(i=1; i <= MAX_GTAB_NUM_KEY; i++) {
+     if (!inmd[i].cname || !inmd[i].cname[0])
+       continue;
+ 

im-client.patch:

Index: im-client.patch
===================================================================
RCS file: /cvs/extras/rpms/gcin/FC-6/im-client.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- im-client.patch	3 Dec 2006 07:27:38 -0000	1.5
+++ im-client.patch	30 Jan 2007 02:20:21 -0000	1.6
@@ -7,7 +7,7 @@
  
 -im-gcin.so:     $(OBJS) ../im-client/libgcin-im-client.so
 -	export LD_RUN_PATH=$(gcinlibdir) ;\
-+im-gcin.so:     $(OBJS) ../im-client/libgcin-im-client.so.1.0.1
++im-gcin.so:     $(OBJS) ../im-client/libgcin-im-client.so.1.0.2
  	$(CC) $(SO_FLAGS) $(OBJS) -L../im-client -lgcin-im-client -o $@ $(LDFLAGS)
  	rm -f core.*
  
@@ -32,28 +32,28 @@
 +++ gcin-1.3.0.1/Makefile	2006-11-23 16:26:15.000000000 +0800
 @@ -8,10 +8,10 @@
  gcin_pho_o = win-pho.o pho.o pho-util.o pho-sym.o table-update.o pho-dbg.o
- gcin_gtab_o = gtab.o win-gtab.o gtab-util.o
+ gcin_gtab_o = gtab.o win-gtab.o gtab-util.o gtab-list.o
  
 -GCIN_SO= gcin1.so
 +gcin1_o= intcode.o win-int.o win-message.o phrase.o win-sym.o win-inmd-switch.o pinyin.o win-pho-near.o
  
  OBJS=gcin.o eve.o util.o gcin-conf.o gcin-settings.o locale.o gcin-icon.o \
--     gcin-switch.o tray.o eggtrayicon.o $(GCIN_SO) \
-+     gcin-switch.o tray.o eggtrayicon.o $(gcin1_o) \
+-     gcin-switch.o $(GCIN_SO) \
++     gcin-switch.o  $(gcin1_o) \
       $(gcin_tsin_o) $(gcin_pho_o) $(gcin_gtab_o)
  
  OBJS_TSLEARN=tslearn.o util.o gcin-conf.o pho-util.o tsin-util.o gcin-send.o pho-sym.o \
-@@ -71,8 +71,7 @@
+@@ -77,8 +77,7 @@
  	if [ $(QT_IM) = 'Y' ]; then $(MAKE) -C qt-im; fi
  
  gcin:   $(OBJS) $(IMdkitLIB) $(im-srv)
--	export LD_RUN_PATH=.:$(gcinlibdir) ;\
+-	LD_RUN_PATH=.:$(gcinlibdir) \
 -	$(CC) $(EXTRA_LDFLAGS) -o $@ $(OBJS) $(IMdkitLIB) $(im-srv) -lXtst $(LDFLAGS) -L/usr/X11R6/lib
 +	$(CC) $(EXTRA_LDFLAGS) -o $@ $(OBJS) $(IMdkitLIB) $(im-srv) -lXtst $(LDFLAGS) -L/usr/X11R6/$(LIB)
  	rm -f core.*
  	ln -sf $@ $@.test
  
-@@ -125,9 +124,9 @@
+@@ -135,9 +134,9 @@
  pin-juyin:	$(OBJS_pin_juyin)
  	$(CC) -o $@ $(OBJS_pin_juyin) $(LDFLAGS)
  
@@ -66,7 +66,7 @@
  
  ### making the following as .so actuall makes the RSS larger
  gcin_gtab_so = gtab.pico win-gtab.pico gtab-util.pico
-@@ -152,14 +151,11 @@
+@@ -162,14 +161,11 @@
  ibin:
  	install $(PROGS) $(bindir); \
  	rm -f $(bindir)/trad2sim; ln -sf sim2trad $(bindir)/trad2sim
@@ -81,3 +81,17 @@
  	install -d $(bindir)
  	$(MAKE) -C data install
  	$(MAKE) -C im-client install
+@@ -177,13 +173,9 @@
+ 	if [ $(QT_IM) = 'Y' ]; then $(MAKE) -C qt-im install; fi
+ 	if [ $(prefix) = /usr/local ]; then \
+ 	   install -m 644 gcin.png /usr/share/icons; \
+-	   install -d $(DOC_DIR); \
+-	   install -m 644 README Changelog $(DOC_DIR); \
+ 	   install $(PROGS) $(bindir); \
+ 	   rm -f $(bindir)/trad2sim; ln -sf sim2trad $(bindir)/trad2sim; \
+ 	else \
+-	   install -d $(DOC_DIR_i); \
+-	   install -m 644 README Changelog $(DOC_DIR_i); \
+ 	   install -s $(PROGS) $(bindir); \
+ 	   rm -f $(bindir)/trad2sim; ln -sf sim2trad $(bindir)/trad2sim; \
+ 	fi


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/gcin/FC-6/sources,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- sources	1 Jan 2007 02:12:39 -0000	1.12
+++ sources	30 Jan 2007 02:20:21 -0000	1.13
@@ -1 +1 @@
-340a2d470be29fff64f455400e2886c5  gcin-1.3.2.tar.bz2
+8cf166c401b23eb42454170befbcacad  gcin-1.3.3.tar.bz2




More information about the scm-commits mailing list