Граф коммитов

195 Коммитов

Автор SHA1 Сообщение Дата
Peng Huang ff5db2e177 Destroy IBusInputContext correctly in ibus-x11
BUG=none
TEST=Linux desktop

Review URL: http://codereview.appspot.com/4178062
2011-02-18 10:15:26 -05:00
fujiwarat 8199abcde4 Add GTK3 definitions. 2011-02-08 15:12:57 -05:00
fujiwarat 31d1e1c41c Fix typo. 2011-02-08 15:12:52 -05:00
Yusuke Sato 03c9e59143 Overwrite Gtk+'s default compose table to fix crosbug.com/11421.
BUG=chromium-os:11421
TEST=manually done on Chrome OS.

Review URL: http://codereview.appspot.com/3989060
2011-02-03 10:15:24 +09:00
Peng Huang af0c9bcf74 Export async version ibus_input_context_process_key_event.
Some application may want to integrate with ibus directly, and want to
use async mode for processing key events. So I make
ibus_input_context_process_key_event to be an async function,
and also added ibus_input_context_process_key_event_sync.

Fix problem in introspection of Engine.

BUG=none
TEST=Tested in Ubuntu 10.10

Review URL: http://codereview.appspot.com/4032044
2011-01-27 11:18:21 -05:00
fujiwarat f28d3e30cb Set GdkEventKey time for gdk_event_put with IBUS_FORWARD_MASK. 2011-01-24 09:32:21 -05:00
Daiki Ueno c3c20f8e45 Fix gtk version check for deprecated keysyms.
From the git log of gtk3, they started adding _KEY from 2.91.0 not 2.90.0.

BUG=none
TEST=manual

Review URL: http://codereview.appspot.com/3670041
2010-12-15 18:32:17 +09:00
Peng Huang c2c4c6df3c Fix crash in im-ibus.so
BUG=chromium-os:9868
TEST=manual

Review URL: http://codereview.appspot.com/3401041
2010-12-14 10:20:46 +08:00
Peng Huang e0b882f5fb Focus out/in fake input context if the input window changed.
BUG=chromium-os:8855
TEST=manual

Review URL: http://codereview.appspot.com/3199042
2010-12-14 10:20:45 +08:00
Peng Huang 93ceb44131 Focus out the fake context in im-ibus.so, when a real context gets the focus.
BUG=none
TEST=manual

Review URL: http://codereview.appspot.com/3561042
2010-12-14 10:16:32 +08:00
Peng Huang 856bd2ea70 Add fake context back in IBusIMContext.
The fake context is removed by mistake in ibus-1.4. It is necessary for Chrome OS.

BUG=none
TEST=manual

Review URL: http://codereview.appspot.com/3574042
2010-12-14 10:14:45 +08:00
Peng Huang b483041c3b Fix some crashs when engine processes are killed.
BUG=none
TEST=manual

Review URL: http://codereview.appspot.com/3152042
2010-11-24 11:29:19 +09:00
Peng Huang ee09d6331a Use g_object_add_weak_pointer to make code simpler.
BUG=none
TEST=none

Review URL: http://codereview.appspot.com/3252041
2010-11-24 10:29:26 +09:00
Peng Huang be50bec410 Remove some unused header files.
BUG=none
TEST=manual

Review URL: http://codereview.appspot.com/3218041
2010-11-21 19:13:34 +09:00
fujiwarat 6e848591c1 Always read Window as 32 bits integer to fix problem in ppc64. 2010-11-16 13:32:54 +09:00
Peng Huang 5e823fcbff Remove block call in ibus-daemon, and use async call instead and clean up code.
1. Do not use poll factory of a component. Sometime, it will cause a dead lock of ibus: ibus-daemon are waiting reply from engine, and engine are also waiting for reply from ibus-daemon.
2. Move some API from IBusComponent to BusComponent, Because of those API is for internal using only
3. Add a fake input context in server side to support switching input method when no context has focus.
4. Remove fake input context in imcontext, because we added the server side fake context

BUG=none
TEST=manual

Review URL: http://codereview.appspot.com/3077042
2010-11-16 10:24:03 +09:00
Peng Huang 26f62c002f Remove a debug output 2010-11-04 12:58:13 +09:00
fujiwarat 420b7b4a80 Remove GDK_DISPLAY, this macro has been removed in gtk3
http://live.gnome.org/GnomeGoals/RemoveDeprecatedSymbols/GTK%2B
2010-11-04 12:34:50 +09:00
Peng Huang c464170208 Fix some issues within codereview. 2010-11-03 13:37:57 +09:00
Peng Huang 8d8ea067c7 Fix a typo in client/gtk3/Makefile.am 2010-11-03 10:54:58 +09:00
Peng Huang 3b3f56d024 Change version to 1.3.99 2010-11-03 10:54:58 +09:00
Peng Huang 164fc1f124 Use gdbus in glib, and get rid of libdbus 2010-11-03 10:54:57 +09:00
fujiwarat 0f6fd61b6e Replace s/gdk_drawable_get_size/gdk_window_get_height/ for GTK3. 2010-11-02 13:23:59 +09:00
fujiwarat acf2a46cdc Fix CPU 100% usage with signal.SIGCHLD 2010-10-21 20:15:27 +09:00
Peng Huang 96b64a2eff Destroy existing connection before creating a new connection, and only create the fake context once.
BUG=chromium-os:7998
TEST=manual

Review URL: http://codereview.appspot.com/2640041
2010-10-21 17:27:12 +09:00
Yusuke Sato 9ae13a3d95 Enable key snooper by default again, except Chrome/Chromium browsers, to fix application compatibility issues like 1068.
This change is logically a revert of 7e71514679

The new behavior is:

1) If IBUS_DISABLE_SNOOPER environment variable is set, and the value of the variable is "" (an empty string) or "0" or "false" or "False" or "FALSE", key snooper is enabled.
2) If IBUS_DISABLE_SNOOPER environment variable is set, and the value of the variable is other than the 5 above, e.g. "1", "true", .., key snooper is disabled.
3) If IBUS_DISABLE_SNOOPER environment variable is not set, and ibus-daemon is explicitly configured with --disable-key-snooper, key snooper is disabled.
4) If IBUS_DISABLE_SNOOPER environment variable is not set, and ibus-daemon is not configured with --disable-key-snooper, the GTK_IM_MODULE, im-ibus.so, checks IBUS_NO_SNOOPER_APPS environment variable:
  4-a) if IBUS_NO_SNOOPER_APPS environment variable is not set, and the application name matches ".*chrome", key snooper is disabled.
  4-b) if IBUS_NO_SNOOPER_APPS environment variable, which should be comma-separated regexps, is set, and one of the regexps matches the application name, key snooper is disabled.
  4-c) otherwise, key snooper is enabled.

Please note that when no configure options nor no environment variables are set, key snooper is enabled on all applications except Chrome/Chromium web browsers. For example, key snooper would be enabled on xchat and gedit by default. I believe the new default behavior would satisfy both Linux desktop and Chromium OS requirements.

Test:

- With ibus built without --disable-key-snooper:

yusukes@harapeko:~$ gedit  # snoop
yusukes@harapeko:~$ IBUS_DISABLE_SNOOPER= gedit  # snoop
yusukes@harapeko:~$ IBUS_DISABLE_SNOOPER=0 gedit  # snoop
yusukes@harapeko:~$ IBUS_DISABLE_SNOOPER="0" gedit  # snoop
yusukes@harapeko:~$ IBUS_DISABLE_SNOOPER="false" gedit  # snoop
yusukes@harapeko:~$ IBUS_DISABLE_SNOOPER="False" gedit  # snoop
yusukes@harapeko:~$ IBUS_DISABLE_SNOOPER="FALSE" gedit  # snoop
yusukes@harapeko:~$ IBUS_DISABLE_SNOOPER="1" gedit  # no-snoop
yusukes@harapeko:~$ IBUS_DISABLE_SNOOPER="true" gedit  # no-snoop
yusukes@harapeko:~$ IBUS_DISABLE_SNOOPER="unknownstring" gedit  # no-snoop

yusukes@harapeko:~$ IBUS_NO_SNOOPER_APPS=gedit gedit  # no-snoop
yusukes@harapeko:~$ IBUS_NO_SNOOPER_APPS='g.*dit' gedit  # no-snoop
yusukes@harapeko:~$ IBUS_NO_SNOOPER_APPS='foobar,g.*dit' gedit  # no-snoop
yusukes@harapeko:~$ IBUS_NO_SNOOPER_APPS=foobar gedit  # snoop

yusukes@harapeko:~$ google-chrome  # no-snoop
yusukes@harapeko:~$ IBUS_NO_SNOOPER_APPS=foobar google-chrome  # snoop

- With ibus built with --disable-key-snooper:

yusukes@harapeko:~$ gedit  # no-snoop
yusukes@harapeko:~$ IBUS_DISABLE_SNOOPER="false" gedit  # snoop
yusukes@harapeko:~$ IBUS_DISABLE_SNOOPER="true" gedit  # no-snoop
yusukes@harapeko:~$ IBUS_DISABLE_SNOOPER="unknownstring" gedit  # no-snoop
yusukes@harapeko:~$ IBUS_NO_SNOOPER_APPS=foobar gedit   # no-snoop, because IBUS_NO_SNOOPER_APPS is ignored when --disable-key-snooper is specified.

BUG=http://code.google.com/p/ibus/issues/detail?id=1068
TEST=manually done. see above.

Review URL: http://codereview.appspot.com/2568043
2010-10-20 22:21:00 +09:00
fujiwarat 92f838c697 Fix a build error with GTK3 gdkkeysyms.h 2010-09-30 10:26:54 +08:00
Satoru Takabayashi 37ed695bfc Add Emacs modeline for .c and .h files.
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */

TEST=confirmed that the modelines for vim and emacs both worked.
BUG=none

Review URL: http://codereview.appspot.com/2168042
2010-09-09 13:24:42 +09:00
Peng Huang 353d36626f Keep input window for fake IC 2010-07-30 17:58:04 +08:00
Peng Huang 519e649849 Support switching keyboard by hotkey without input focus Add fake input context in im module. The fake input context will hold the focus if no other input context has focus. This change for fixing input method switch issue if no focus input context.
BUG=http://crosbug.com/4381

Review URL: http://codereview.chromium.org/3052003
2010-07-30 17:57:56 +08:00
Peng Huang 06114fef55 fill right value of GdkEventKey::is_modifier 2010-06-23 10:35:32 +08:00
Peng Huang a25970bc95 workaround for applications do not set client window and refine code. 2010-06-20 08:02:58 +08:00
Peng Huang 2dfd255535 read env IBUS_SNOOPER_APPS 2010-06-12 09:00:00 +08:00
Peng Huang 7e71514679 Disable snooper by default. 2010-06-12 08:53:43 +08:00
Peng Huang 49a848a70c Use regex for no snooper applications, and disable snooper in chrome 2010-06-12 07:50:22 +08:00
Peng Huang a30e416bfa Emit FORWARD_KEY_EVENT signal correctly 2010-06-09 07:18:02 +08:00
Peng Huang d34559042d Refine coding style 2010-06-08 22:16:53 +08:00
Peng Huang 7606b92e05 Fix problem of create GdkEventKey from keyval keycode and state 2010-06-08 21:43:55 +08:00
Peng Huang d8a4d1d348 Ignore handled key event in xim server 2010-06-08 21:16:15 +08:00
Peng Huang ca20ca904f Fix keycode in xim server 2010-06-08 20:55:27 +08:00
Peng Huang cbe5540dd8 Support gtk3 2010-06-05 21:28:04 +08:00
Peng Huang e9bf772df8 Repace some deprecated macros to fix build errors with gtk3 2010-06-05 20:44:32 +08:00
Peng Huang 683f8d03ec Set keycode in GdkEvent correctly. 2010-06-04 20:18:19 +08:00
Peng Huang 9026db8da8 Refine some build options. 2010-05-15 20:02:19 +08:00
Peng Huang c75f40f351 Add --disable-clients to disable gtk x11 clients 2010-05-15 19:49:19 +08:00
Peng Huang d8d386f6bd Merge branch 'no_snooper_apps' 2010-05-04 07:29:45 +08:00
Peng Huang 80c35b5fc5 Add configure --disable-key-snooper 2010-05-04 07:27:53 +08:00
Peng Huang 550d0adb70 ibus-x11 does not call g_error, when it connects to ibus-daemon failed. 2010-05-02 15:44:13 +08:00
Peng Huang 180371b895 add configure option to disable keyboard snooper in some applications 2010-05-01 17:32:22 +08:00
Peng Huang 3b2f45a9ab Add X11_CFLAGS and X11_LIBS 2010-04-11 17:02:55 +08:00