Branch: refs/heads/master
Home: http://github.com/ibus/ibus
Commit: 9ae13a3d95c7dc775084c58339e42375622df83e
http://github.com/ibus/ibus/commit/9ae13a3d95c7dc775084c58339e42375622df83e
Author: Yusuke Sato <[email protected]>
Date: 2010-10-20 (Wed, 20 Oct 2010)
Changed paths:
M client/gtk2/ibusimcontext.c
M configure.ac
Log Message:
-----------
Enable key snooper by default again, except Chrome/Chromium browsers, to fix
application compatibility issues like 1068.
This change is logically a revert of
http://github.com/ibus/ibus/commit/7e715146794d5fa5324885f8d1dcebb8805bc31b
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:
yusu...@harapeko:~$ gedit # snoop
yusu...@harapeko:~$ IBUS_DISABLE_SNOOPER= gedit # snoop
yusu...@harapeko:~$ IBUS_DISABLE_SNOOPER=0 gedit # snoop
yusu...@harapeko:~$ IBUS_DISABLE_SNOOPER="0" gedit # snoop
yusu...@harapeko:~$ IBUS_DISABLE_SNOOPER="false" gedit # snoop
yusu...@harapeko:~$ IBUS_DISABLE_SNOOPER="False" gedit # snoop
yusu...@harapeko:~$ IBUS_DISABLE_SNOOPER="FALSE" gedit # snoop
yusu...@harapeko:~$ IBUS_DISABLE_SNOOPER="1" gedit # no-snoop
yusu...@harapeko:~$ IBUS_DISABLE_SNOOPER="true" gedit # no-snoop
yusu...@harapeko:~$ IBUS_DISABLE_SNOOPER="unknownstring" gedit # no-snoop
yusu...@harapeko:~$ IBUS_NO_SNOOPER_APPS=gedit gedit # no-snoop
yusu...@harapeko:~$ IBUS_NO_SNOOPER_APPS='g.*dit' gedit # no-snoop
yusu...@harapeko:~$ IBUS_NO_SNOOPER_APPS='foobar,g.*dit' gedit # no-snoop
yusu...@harapeko:~$ IBUS_NO_SNOOPER_APPS=foobar gedit # snoop
yusu...@harapeko:~$ google-chrome # no-snoop
yusu...@harapeko:~$ IBUS_NO_SNOOPER_APPS=foobar google-chrome # snoop
- With ibus built with --disable-key-snooper:
yusu...@harapeko:~$ gedit # no-snoop
yusu...@harapeko:~$ IBUS_DISABLE_SNOOPER="false" gedit # snoop
yusu...@harapeko:~$ IBUS_DISABLE_SNOOPER="true" gedit # no-snoop
yusu...@harapeko:~$ IBUS_DISABLE_SNOOPER="unknownstring" gedit # no-snoop
yusu...@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
--
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en