summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEitan Isaacson <eitan@monotonous.org>2011-06-03 18:07:56 -0700
committerEitan Isaacson <eitan@monotonous.org>2011-06-06 18:53:11 -0700
commitbb6c87d79168282777acadbcee6ac240135a3db6 (patch)
tree772f0250e5d1e56969a64f5ab314f295e474c38e
parent7ab9a3caf8cdf9dc88380603cacaee890854a6ba (diff)
downloadcaribou-bb6c87d79168282777acadbcee6ac240135a3db6.tar.gz
Added GTK2 IMContext
-rw-r--r--configure.ac1
-rw-r--r--im/Makefile.am2
-rw-r--r--im/gtk2/Makefile.am30
l---------im/gtk2/caribou-im.c1
l---------im/gtk2/caribou-imcontext.vala1
-rw-r--r--im/gtk3/Makefile.am2
-rw-r--r--im/gtk3/caribou-imcontext.vala11
7 files changed, 42 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index 8babf66..1b9ed9d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -115,4 +115,5 @@ data/layouts/scan/Makefile
libcaribou/Makefile
im/Makefile
im/gtk3/Makefile
+im/gtk2/Makefile
])
diff --git a/im/Makefile.am b/im/Makefile.am
index 8c1607e..24e42e7 100644
--- a/im/Makefile.am
+++ b/im/Makefile.am
@@ -1 +1 @@
-SUBDIRS = gtk3
+SUBDIRS = gtk3 gtk2
diff --git a/im/gtk2/Makefile.am b/im/gtk2/Makefile.am
new file mode 100644
index 0000000..fe164fd
--- /dev/null
+++ b/im/gtk2/Makefile.am
@@ -0,0 +1,30 @@
+immoduledir = @GTK2_IM_MODULEDIR@
+immodule_LTLIBRARIES = im-caribou.la
+
+im_caribou_la_SOURCES = \
+ caribou-imcontext.vala \
+ caribou-im.c \
+ $(NULL)
+
+im_caribou_la_VALAFLAGS = \
+ -h caribou-imcontext.h \
+ --pkg gtk+-2.0 \
+ -D GTK2 \
+ $(VALAGLAFS)
+
+im_caribou_la_CFLAGS = \
+ @GTK2_CFLAGS@ \
+ -DG_LOG_DOMAIN=\"CARIBOU\" \
+ $(NULL)
+
+im_caribou_la_LIBADD = \
+ @GTK2_LIBS@ \
+ $(NULL)
+
+im_caribou_la_LDFLAGS = \
+ -avoid-version \
+ -module \
+ $(NULL)
+
+EXTRA_DIST = \
+ $(NULL)
diff --git a/im/gtk2/caribou-im.c b/im/gtk2/caribou-im.c
new file mode 120000
index 0000000..a34663a
--- /dev/null
+++ b/im/gtk2/caribou-im.c
@@ -0,0 +1 @@
+../gtk3/caribou-im.c \ No newline at end of file
diff --git a/im/gtk2/caribou-imcontext.vala b/im/gtk2/caribou-imcontext.vala
new file mode 120000
index 0000000..210161a
--- /dev/null
+++ b/im/gtk2/caribou-imcontext.vala
@@ -0,0 +1 @@
+../gtk3/caribou-imcontext.vala \ No newline at end of file
diff --git a/im/gtk3/Makefile.am b/im/gtk3/Makefile.am
index 5f2780f..9cd956c 100644
--- a/im/gtk3/Makefile.am
+++ b/im/gtk3/Makefile.am
@@ -2,8 +2,8 @@ immoduledir = @GTK3_IM_MODULEDIR@
immodule_LTLIBRARIES = im-caribou.la
im_caribou_la_SOURCES = \
- caribou-im.c \
caribou-imcontext.vala \
+ caribou-im.c \
$(NULL)
im_caribou_la_VALAFLAGS = \
diff --git a/im/gtk3/caribou-imcontext.vala b/im/gtk3/caribou-imcontext.vala
index 170b304..a8d5033 100644
--- a/im/gtk3/caribou-imcontext.vala
+++ b/im/gtk3/caribou-imcontext.vala
@@ -15,14 +15,17 @@ namespace Caribou {
}
public override void focus_in () {
- int x, y;
+ int x, y, w, h;
window.get_origin (out x, out y);
+#if GTK2
+ window.get_geometry (null, null, out w, out h, null);
+#else
+ window.get_geometry (null, null, out w, out h);
+#endif
stdout.printf ("focus_in %d %d\n", x, y);
try {
keyboard.show ();
- keyboard.set_entry_location (x, y,
- window.get_width (),
- window.get_height ());
+ keyboard.set_entry_location (x, y, w, h);
} catch (IOError e) {
stderr.printf ("%s\n", e.message);
}