Skip to content

Commit 1efec7f

Browse files
committed
Imported Upstream version 2.7.1
1 parent 09997d0 commit 1efec7f

File tree

182 files changed

+417019
-53606
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

182 files changed

+417019
-53606
lines changed

COPYING

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Version 2.1, February 1999
33

44
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
5-
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
66
Everyone is permitted to copy and distribute verbatim copies
77
of this license document, but changing it is not allowed.
88

@@ -476,7 +476,7 @@ convey the exclusion of warranty; and each file should have at least the
476476
This library is free software; you can redistribute it and/or
477477
modify it under the terms of the GNU Lesser General Public
478478
License as published by the Free Software Foundation; either
479-
version 2 of the License, or (at your option) any later version.
479+
version 2.1 of the License, or (at your option) any later version.
480480

481481
This library is distributed in the hope that it will be useful,
482482
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -485,7 +485,7 @@ convey the exclusion of warranty; and each file should have at least the
485485

486486
You should have received a copy of the GNU Lesser General Public
487487
License along with this library; if not, write to the Free Software
488-
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
488+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
489489

490490
Also add information on how to contact you by electronic and paper mail.
491491

Changelog.html

Lines changed: 229 additions & 128 deletions
Large diffs are not rendered by default.

IC.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,15 +124,17 @@ extern Display *dpy;
124124
void move_in_win(ClientState *cs, int x, int y);
125125
void show_in_win(ClientState *cs);
126126
extern Window focus_win;
127-
127+
void save_CS_temp_to_current();
128128

129129
void load_IC(IC *rec)
130130
{
131131
ClientState *cs = &rec->cs;
132132
Window win = cs->client_win;
133133

134-
if (win == focus_win && !current_CS)
134+
if (win == focus_win && !current_CS) {
135135
current_CS = cs;
136+
save_CS_temp_to_current();
137+
}
136138

137139
if (win == focus_win) {
138140
if (cs->im_state == GCIN_STATE_DISABLED)
@@ -165,8 +167,10 @@ StoreIC(IC *rec, IMChangeICStruct *call_data)
165167
XICAttribute *sts_attr = call_data->status_attr;
166168
register int i;
167169

168-
if (!current_CS)
170+
if (!current_CS) {
169171
current_CS = cs;
172+
save_CS_temp_to_current();
173+
}
170174
#if DEBUG && 0
171175
dbg(".... StoreIC\n");
172176
#endif

IC.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ typedef struct {
5353
#endif
5454

5555
typedef struct {
56-
Window client_win; /* client window */
56+
Window client_win; /* client window */
5757
INT32 input_style; /* input style */
5858
GCIN_STATE_E im_state;
5959
gboolean b_half_full_char;

Makefile

Lines changed: 49 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,46 @@
11
OPTFLAGS=-g
22

33
include config.mak
4-
5-
.SUFFIXES: .c .o .E .pico .cpp
4+
include suffixes-rule
65

76
gcin_tsin_o = tsin.o tsin-util.o win0.o win1.o tsin-parse.o
87
gcin_pho_o = win-pho.o pho.o pho-util.o pho-sym.o table-update.o pho-dbg.o
98
gcin_gtab_o = gtab.o win-gtab.o gtab-util.o gtab-list.o gtab-buf.o
109

1110
GCIN_SO= gcin1.so gcin2.so
1211

13-
OBJS=gcin.o eve.o util.o gcin-conf.o gcin-settings.o locale.o gcin-icon.o \
14-
gcin-switch.o gcin-exec-script.o $(GCIN_SO) pho-play.o cache.o gtk_bug_fix.o \
12+
OBJS=gcin.o eve.o util.o gcin-conf.o gcin-settings.o locale.o gcin-icon.o about.o html-browser.o \
13+
gcin-exec-script.o $(GCIN_SO) pho-play.o cache.o gtk_bug_fix.o phrase-save-menu.o \
1514
$(gcin_pho_o) $(gcin_gtab_o) gcin-common.o phrase.o t2s-lookup.o gtab-use-count.o \
16-
win-save-phrase.o unix-exec.o pho-kbm-name.o statistic.o tsin-scan.o
15+
win-save-phrase.o unix-exec.o pho-kbm-name.o statistic.o tsin-scan.o gcin-module.o lang.o \
16+
gcin-module-cb.o gtab-init.o fullchar.o gtab-tsin-fname.o
1717

1818
OBJS_TSLEARN=tslearn.o util.o gcin-conf.o pho-util.o tsin-util.o gcin-send.o pho-sym.o \
19-
table-update.o locale.o gcin-settings.o gcin-common.o gcin-icon.o pho-dbg.o
20-
OBJS_JUYIN_LEARN=juyin-learn.o locale.o util.o pho-util.o pho-sym.o \
19+
table-update.o locale.o gcin-settings.o gcin-common.o gcin-icon.o pho-dbg.o \
20+
pho2pinyin.o pinyin.o lang.o gtab-list.o gtab-init.o fullchar.o \
21+
gtab-tsin-fname.o unix-exec.o gtab-util.o
22+
23+
OBJS_TS_EDIT=ts-edit.o util.o gcin-conf.o pho-util.o tsin-util.o gcin-send.o pho-sym.o \
24+
table-update.o locale.o gcin-settings.o gcin-common.o gcin-icon.o pho-dbg.o \
25+
pho2pinyin.o pinyin.o lang.o gtab-list.o gtab-init.o fullchar.o \
26+
gtab-tsin-fname.o unix-exec.o gtab-util.o
27+
28+
OBJS_JUYIN_LEARN=juyin-learn.o locale.o util.o pho-util.o pho-sym.o pho2pinyin.o \
2129
gcin-settings.o gcin-conf.o table-update.o pinyin.o gcin-icon.o pho-dbg.o
2230
OBJS_sim2trad=sim2trad.o util.o gcin2.so locale.o gcin-conf.o gcin-icon.o
2331
OBJS_phod2a=phod2a.o pho-util.o gcin-conf.o pho-sym.o table-update.o pho-dbg.o locale.o \
2432
gcin-settings.o util.o
25-
OBJS_tsa2d32=tsa2d32.o gcin-send.o util.o pho-sym.o gcin-conf.o locale.o pho-lookup.o
26-
OBJS_phoa2d=phoa2d.o pho-sym.o gcin-send.o gcin-conf.o locale.o pho-lookup.o util.o
33+
OBJS_tsa2d32=tsa2d32.o gcin-send.o util.o pho-sym.o gcin-conf.o locale.o pho-lookup.o \
34+
pinyin.o pho2pinyin.o pho-dbg.o
35+
OBJS_phoa2d=phoa2d.o pho-sym.o gcin-send.o gcin-conf.o locale.o pho-lookup.o util.o pho-dbg.o
2736
OBJS_kbmcv=kbmcv.o pho-sym.o util.o locale.o
28-
OBJS_tsd2a32=tsd2a32.o pho-sym.o pho-dbg.o locale.o util.o gtab-dbg.o
37+
OBJS_tsd2a32=tsd2a32.o pho-sym.o pho-dbg.o locale.o util.o gtab-dbg.o pho2pinyin.o \
38+
gcin-conf.o pinyin.o
2939
OBJS_gcin2tab=gcin2tab.o gtab-util.o util.o locale.o
3040
OBJS_gtab_merge=gtab-merge.o gtab-util.o util.o locale.o
31-
OBJS_gcin_steup=gcin-setup.o gcin-conf.o util.o gcin-send.o gcin-settings.o \
32-
gcin-setup-list.o gcin-switch.o locale.o gcin-setup-pho.o about.o \
33-
gcin-icon.o gcin-setup-gtab.o gtab-list.o gcin-exec-script.o pho-kbm-name.o
41+
OBJS_gcin_tools=gcin-setup.o gcin-conf.o util.o gcin-send.o gcin-settings.o html-browser.o \
42+
gcin-setup-list.o locale.o gcin-setup-pho.o about.o lang.o \
43+
gcin-icon.o gcin-setup-gtab.o gtab-list.o gcin-exec-script.o pho-kbm-name.o gcin-module-cb.o
3444

3545
OBJS_gcin_gb_toggle = gcin-gb-toggle.o gcin-conf.o util.o gcin-send.o
3646
OBJS_gcin_kbm_toggle = gcin-kbm-toggle.o gcin-conf.o util.o gcin-send.o
@@ -39,38 +49,21 @@ OBJS_gcin_message = gcin-message.o gcin-conf.o util.o gcin-send.o
3949
OBJS_pin_juyin = pin-juyin.o util.o pho-lookup.o locale.o pho-sym.o
4050

4151
OBJS_tsin2gtab_phrase = tsin2gtab-phrase.o gcin-conf.o util.o locale.o \
42-
pho-dbg.o pho-sym.o gtab-dbg.o
52+
pho-dbg.o pho-sym.o gtab-dbg.o lang.o
4353

4454
#WALL=-Wall
45-
CFLAGS= -DUNIX=1 $(WALL) $(OPTFLAGS) $(GTKINC) -I./IMdkit/include -I./im-client -DDEBUG="0$(GCIN_DEBUG)" \
46-
-DGCIN_TABLE_DIR=\"$(GCIN_TABLE_DIR)\" \
47-
-DGCIN_OGG_DIR=\"$(GCIN_OGG_DIR)\" \
48-
-DDOC_DIR=\"$(DOC_DIR)\" \
49-
-DGCIN_ICON_DIR=\"$(GCIN_ICON_DIR)\" \
50-
-DGCIN_SCRIPT_DIR=\"$(GCIN_SCRIPT_DIR)\" -DGCIN_BIN_DIR=\"$(GCIN_BIN_DIR)\" \
51-
-DSYS_ICON_DIR=\"$(SYS_ICON_DIR)\" -DFREEBSD=$(FREEBSD) -DMAC_OS=$(MAC_OS) \
52-
-DG_DISABLE_SINGLE_INCLUDES -DG_DISABLE_DEPRECATED \
53-
-DGDK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED \
54-
-DGTK_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED
55+
5556
ifeq ($(USE_XIM),Y)
5657
IMdkitLIB = IMdkit/lib/libXimd.a
5758
CFLAGS += -DUSE_XIM=1
5859
OBJS+=IC.o
5960
endif
6061

61-
ifeq ($(MAC_OS),1)
62-
EXTRA_LDFLAGS=-bind_at_load
63-
endif
64-
6562
ifeq ($(USE_TRAY),Y)
6663
CFLAGS += -DTRAY_ENABLED=1
6764
OBJS += tray.o eggtrayicon.o tray-win32.o
6865
endif
6966

70-
ifeq ($(USE_TRAY),N)
71-
GCIN_SO += tray-win32.o
72-
endif
73-
7467
ifeq ($(USE_I18N),Y)
7568
CFLAGS += -DGCIN_i18n_message=1
7669
endif
@@ -80,65 +73,46 @@ CFLAGS += -DUSE_TSIN=1
8073
OBJS += $(gcin_tsin_o)
8174
endif
8275

83-
ifeq ($(USE_ANTHY),Y)
84-
CFLAGS += -DUSE_ANTHY=1
85-
LDFLAGS += -ldl
86-
ifeq ($(USE_TSIN),N)
87-
OBJS += $(gcin_tsin_o)
88-
endif
89-
endif
90-
9176
ifeq ($(USE_GCB),Y)
9277
CFLAGS += -DUSE_GCB=1
9378
OBJS += gcb.o
9479
endif
9580

9681
OBJ_IMSRV=im-addr.o im-dispatch.o im-srv.o gcin-crypt.o
9782

98-
.c.E:
99-
$(CC) $(CFLAGS) -E -o $@ $<
100-
101-
.cpp.E:
102-
$(CCX) $(CFLAGS) -E -o $@ $<
103-
104-
.cpp.o:
105-
$(CCX) $(CFLAGS) -c $<
106-
107-
.c.pico:
108-
$(CC) $(CFLAGS) -c -fpic -o $@ $<
109-
.cpp.pico:
110-
$(CCX) $(CFLAGS) -c -fpic -o $@ $<
111-
112-
PROGS=gcin tsd2a32 tsa2d32 phoa2d phod2a tslearn gcin-setup gcin2tab \
83+
PROGS=gcin tsd2a32 tsa2d32 phoa2d phod2a tslearn gcin-tools gcin2tab \
11384
juyin-learn sim2trad gcin-gb-toggle gcin-message gtab-merge \
114-
gcin-kbm-toggle tsin2gtab-phrase gcin-exit
85+
gcin-kbm-toggle tsin2gtab-phrase gcin-exit ts-edit
11586
PROGS_SYM=trad2sim
11687
PROGS_CV=kbmcv pin-juyin
11788

118-
all: $(PROGS) trad2sim $(DATA) $(PROGS_CV) gcin.spec
89+
90+
all: $(PROGS) trad2sim $(GCIN_SO) $(DATA) $(PROGS_CV) gcin.spec gcin-fedora.spec
11991
$(MAKE) -C data
12092
$(MAKE) -C gtk-im
121-
ifeq ($(USE_I18N),Y)
122-
$(MAKE) -C po
123-
endif
93+
if [ $(BUILD_MODULE) = 'Y' ]; then $(MAKE) -C modules; fi
94+
if [ $(USE_I18N) = 'Y' ]; then $(MAKE) -C po; fi
12495
if [ $(GTK3_IM) = 'Y' ]; then $(MAKE) -C gtk3-im; fi
12596
if [ $(QT_IM) = 'Y' ]; then $(MAKE) -C qt-im; fi
12697
if [ $(QT4_IM) = 'Y' ]; then $(MAKE) -C qt4-im; fi
12798

12899
#gcc_ld_run_path=-Wl,-rpath,$(gcin_ld_run_path)
129100

130101
gcin: $(OBJS) $(IMdkitLIB) $(OBJ_IMSRV)
131-
$(CCLD) $(EXTRA_LDFLAGS) $(gcc_ld_run_path) -o $@ $(OBJS) $(IMdkitLIB) $(OBJ_IMSRV) -lXtst $(LDFLAGS) -L/usr/X11R6/lib
102+
$(CCLD) $(EXTRA_LDFLAGS) $(gcc_ld_run_path) -o $@ $(OBJS) $(IMdkitLIB) $(OBJ_IMSRV) -lXtst $(LDFLAGS) -L/usr/X11R6/$(LIB)
132103
rm -f core.* vgcore.*
133104
ln -sf $@ $@.test
134105

135106
gcin-nocur: $(OBJS) $(IMdkitLIB) $(OBJ_IMSRV)
136-
$(CCLD) -Wl,-rpath,$(gcinlibdir) $(EXTRA_LDFLAGS) -o $@ $(OBJS) $(IMdkitLIB) $(OBJ_IMSRV) -lXtst $(LDFLAGS) -L/usr/X11R6/lib
107+
$(CCLD) -Wl,-rpath,$(gcinlibdir) $(EXTRA_LDFLAGS) -o $@ $(OBJS) $(IMdkitLIB) $(OBJ_IMSRV) -lXtst $(LDFLAGS) -L/usr/X11R6/$(LIB)
137108
rm -f core.*
138109

139110
tslearn: $(OBJS_TSLEARN)
140111
$(CCLD) $(gcc_ld_run_path) -o $@ $(OBJS_TSLEARN) -L./im-client -lgcin-im-client $(LDFLAGS)
141112

113+
ts-edit: $(OBJS_TS_EDIT)
114+
$(CCLD) $(gcc_ld_run_path) -o $@ $(OBJS_TS_EDIT) -L./im-client -lgcin-im-client $(LDFLAGS)
115+
142116
juyin-learn: $(OBJS_JUYIN_LEARN)
143117
$(CCLD) -o $@ $(OBJS_JUYIN_LEARN) $(LDFLAGS)
144118
rm -f core.*
@@ -148,9 +122,9 @@ sim2trad: $(OBJS_sim2trad)
148122
trad2sim: sim2trad
149123
ln -sf sim2trad trad2sim
150124

151-
gcin-setup: $(OBJS_gcin_steup) im-client/libgcin-im-client.so
125+
gcin-tools: $(OBJS_gcin_tools) im-client/libgcin-im-client.so
152126
rm -f core.*
153-
$(CCLD) $(gcc_ld_run_path) -o $@ $(OBJS_gcin_steup) -L./im-client -lgcin-im-client $(LDFLAGS)
127+
$(CCLD) $(gcc_ld_run_path) -o $@ $(OBJS_gcin_tools) -L./im-client -lgcin-im-client $(LDFLAGS)
154128

155129
phoa2d: $(OBJS_phoa2d) im-client/libgcin-im-client.so
156130
$(CCLD) $(gcc_ld_run_path) -o $@ $(OBJS_phoa2d) -L./im-client -lgcin-im-client $(LDFLAGS)
@@ -201,12 +175,8 @@ im-client/libgcin-im-client.so:
201175
gcin-version.h: VERSION.gcin
202176
echo '#define GCIN_VERSION "'`cat VERSION.gcin`'"' > gcin-version.h
203177

204-
gcin1_so += intcode.pico win-int.pico win-message.pico win-sym.pico \
205-
win-inmd-switch.pico pinyin.pico win-pho-near.pico win-kbm.pico
206-
207-
ifeq ($(USE_ANTHY),Y)
208-
gcin1_so += anthy.pico
209-
endif
178+
gcin1_so += win-message.pico win-sym.pico \
179+
win-inmd-switch.pico pinyin.pico win-pho-near.pico win-kbm.pico gcin-module.pico pho2pinyin.pico
210180

211181
gcin1.so: $(gcin1_so) pho.o tsin.o eve.o gtab.o win-sym.o
212182
$(CCLD) $(SO_FLAGS) -o $@ $(gcin1_so) $(LDFLAGS)
@@ -215,22 +185,6 @@ gcin2_so= t2s-lookup.pico
215185
gcin2.so: $(gcin2_so) gcin-conf.o
216186
$(CCLD) $(SO_FLAGS) -o $@ $(gcin2_so) $(LDFLAGS)
217187

218-
#gtk_bug_fix.so: gtk_bug_fix.pico
219-
# $(CC) $(SO_FLAGS) -o $@ gtk_bug_fix.pico
220-
221-
### making the following as .so actuall makes the RSS larger
222-
gcin_gtab_so = gtab.pico win-gtab.pico gtab-util.pico
223-
gcin-gtab.so: $(gcin_gtab_so)
224-
$(CC) $(SO_FLAGS) -o $@ $(gcin_gtab_so) $(LDFLAGS)
225-
226-
gcin_tsin_so = tsin.pico tsin-util.pico win0.pico win1.pico win-pho-near.pico tsin-parse.pico
227-
gcin-tsin.so: $(gcin_tsin_so)
228-
$(CCLD) -shared -o $@ $(gcin_tsin_so) $(LDFLAGS)
229-
230-
gcin_pho_so=win-pho.pico pho.pico pho-util.pico pho-sym.pico table-update.pico pho-dbg.pico
231-
gcin-pho.so: $(gcin_pho_so)
232-
$(CC) -shared -fPIC -o $@ $(gcin_pho_so) $(LDFLAGS)
233-
234188
$(IMdkitLIB):
235189
$(MAKE) -C IMdkit/lib
236190

@@ -250,6 +204,7 @@ install:
250204
$(MAKE) -C data install
251205
$(MAKE) -C im-client install
252206
$(MAKE) -C gtk-im install
207+
if [ $(BUILD_MODULE) = 'Y' ]; then $(MAKE) -C modules install; fi
253208
if [ $(GTK3_IM) = 'Y' ]; then $(MAKE) -C gtk3-im install; fi
254209
if [ $(QT_IM) = 'Y' ]; then $(MAKE) -C qt-im install; fi
255210
if [ $(QT4_IM) = 'Y' ]; then $(MAKE) -C qt4-im install; fi
@@ -267,22 +222,18 @@ install:
267222
fi
268223
$(MAKE) -C scripts install
269224
$(MAKE) -C menu install
270-
$(MAKE) -C man install
271-
ifeq ($(USE_I18N),Y)
272-
$(MAKE) -C po install
273-
endif
225+
if [ $(USE_I18N) = 'Y' ]; then $(MAKE) -C po install; fi
226+
274227
clean:
275228
$(MAKE) -C IMdkit clean
276229
$(MAKE) -C data clean
277230
$(MAKE) -C scripts clean
278231
$(MAKE) -C im-client clean
279232
$(MAKE) -C gtk-im clean
280-
ifeq ($(GTK3_IM), Y)
281-
$(MAKE) -C gtk3-im clean
282-
endif
233+
$(MAKE) -C modules clean
234+
if [ $(GTK3_IM) = 'Y' ]; then $(MAKE) -C gtk3-im clean; fi
283235
$(MAKE) -C qt-im clean
284236
$(MAKE) -C qt4-im clean
285-
$(MAKE) -C man clean
286237
$(MAKE) -C menu clean
287238
$(MAKE) -C po clean
288239
rm -f *.o *.E *.db *.pico *.so config.mak tags $(PROGS) gcin-nocur $(PROGS_CV) \
@@ -299,4 +250,8 @@ gcin.spec: gcin.spec.in
299250
rm -f $@
300251
sed -e "s/__gcin_version__/$(GCIN_VERSION)/" < $< > $@
301252

253+
gcin-fedora.spec: gcin-fedora.spec.in VERSION.gcin
254+
rm -f $@
255+
sed -e "s/__gcin_version__/$(GCIN_VERSION)/" < $< > $@
256+
302257
include .depend

0 commit comments

Comments
 (0)