[ibus-m17n] Update to 1.3.4-8
Daiki Ueno
ueno at fedoraproject.org
Fri Apr 26 08:08:55 UTC 2013
commit c0bad35d7dcab1a4e1542ac6099c21ec9f4f0364
Author: Daiki Ueno <ueno at unixuser.org>
Date: Fri Apr 26 17:08:37 2013 +0900
Update to 1.3.4-8
ibus-m17n-HEAD.patch | 1928 +++++++++++++++++++++++++++++++++++++
ibus-m17n-blacklist-engines.patch | 49 -
ibus-m17n-desktop-file.patch | 113 ---
ibus-m17n-fix-mtext-config.patch | 25 -
ibus-m17n-hide-title-status.patch | 8 +-
ibus-m17n-honor-user-cflags.patch | 170 ----
ibus-m17n-translit-layout.patch | 16 -
ibus-m17n-virtkbd.patch | 637 ------------
ibus-m17n-xkb-options.patch | 58 +-
ibus-m17n.spec | 56 +-
10 files changed, 1968 insertions(+), 1092 deletions(-)
---
diff --git a/ibus-m17n-HEAD.patch b/ibus-m17n-HEAD.patch
new file mode 100644
index 0000000..cbfb685
--- /dev/null
+++ b/ibus-m17n-HEAD.patch
@@ -0,0 +1,1928 @@
+diff --git a/autogen.sh b/autogen.sh
+index 99be006..f8bf2b0 100755
+--- a/autogen.sh
++++ b/autogen.sh
+@@ -18,10 +18,10 @@ which gnome-autogen.sh || {
+ exit 1
+ }
+
+-export CFLAGS="-g -O0"
+-export CXXFLAGS="$CFLAGS"
++export CFLAGS=${CFLAGS-"-Wall"}
++export CXXFLAGS=${CXXFLAGS-"$CFLAGS"}
+
+ ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4"
+ REQUIRED_AUTOMAKE_VERSION=1.10
+
+-. gnome-autogen.sh
++. gnome-autogen.sh "$@"
+diff --git a/configure.ac b/configure.ac
+index 0548537..30d44ff 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -48,6 +48,7 @@ AM_PROG_CC_C_O
+ AC_PROG_CXX
+ AC_ISC_POSIX
+ AC_HEADER_STDC
++IT_PROG_INTLTOOL([0.35.0])
+ AM_PROG_LIBTOOL
+
+ # check ibus
+@@ -111,8 +112,6 @@ AC_CONFIG_FILES([ po/Makefile.in
+ Makefile
+ ibus-m17n.spec
+ src/Makefile
+-src/m17n.xml.in
+-src/default.xml.in
+ icons/Makefile
+ m4/Makefile
+ ])
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index a426e33..bb3bd6e 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -1,3 +1,5 @@
+ src/engine.c
+ src/m17nutil.c
+ src/main.c
++[type: gettext/glade]src/ibus-m17n-preferences.ui
++src/ibus-setup-m17n.desktop.in.in
+diff --git a/po/POTFILES.skip b/po/POTFILES.skip
+new file mode 100644
+index 0000000..3667f37
+--- /dev/null
++++ b/po/POTFILES.skip
+@@ -0,0 +1 @@
++src/ibus-setup-m17n.desktop.in
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 39d6523..68ec953 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -19,15 +19,14 @@
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ AM_CFLAGS = \
+- @IBUS_CFLAGS@ \
+- @M17N_CFLAGS@ \
++ $(IBUS_CFLAGS) \
++ $(M17N_CFLAGS) \
+ -DPKGDATADIR=\"$(pkgdatadir)\" \
+ -DLIBEXECDIR=\"$(libexecdir)\" \
+- -DSETUPDIR=\"$(setupdir)\" \
+ $(NULL)
+ AM_LDADD = \
+- @IBUS_LIBS@ \
+- @M17N_LIBS@ \
++ $(IBUS_LIBS) \
++ $(M17N_LIBS) \
+ $(NULL)
+
+ check_PROGRAMS = \
+@@ -38,6 +37,7 @@ TESTS = \
+ $(check_PROGRAMS) \
+ $(NULL)
+
++TESTS_ENVIRONMENT = IBUS_M17N_PKGDATADIR=$(builddir)
+
+ test_m17n_SOURCES = \
+ test.c \
+@@ -46,10 +46,13 @@ test_m17n_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(NULL)
+ test_m17n_LDADD = \
+- libm17ncommon.a \
++ libm17ncommon.la \
+ $(AM_LDADD) \
+ $(NULL)
+
++test: ibus-engine-m17n
++ $(builddir)/ibus-engine-m17n
++
+ libexec_PROGRAMS = ibus-engine-m17n
+
+ noinst_LTLIBRARIES = libm17ncommon.la
+@@ -67,8 +70,8 @@ ibus_engine_m17n_SOURCES = \
+ $(NULL)
+ ibus_engine_m17n_LDADD = \
+ libm17ncommon.la \
+- @IBUS_LIBS@ \
+- @M17N_LIBS@ \
++ $(IBUS_LIBS) \
++ $(M17N_LIBS) \
+ $(NULL)
+
+ if HAVE_GTK
+@@ -78,58 +81,61 @@ ibus_setup_m17n_SOURCES = \
+ setup.c \
+ $(NULL)
+ ibus_setup_m17n_CFLAGS = \
+- @GTK_CFLAGS@ \
++ $(GTK_CFLAGS) \
+ $(AM_CFLAGS) \
+ $(NULL)
+ ibus_setup_m17n_LDADD = \
+ libm17ncommon.la \
+- @IBUS_LIBS@ \
+- @M17N_LIBS@ \
+- @GTK_LIBS@ \
++ $(IBUS_LIBS) \
++ $(M17N_LIBS) \
++ $(GTK_LIBS) \
+ $(NULL)
++
++setupdir = $(pkgdatadir)/setup
+ dist_setup_DATA = \
+ ibus-m17n-preferences.ui \
+ $(NULL)
+ endif
+
+-setup_DATA = \
++pkgdata_DATA = \
+ default.xml \
+ $(NULL)
+-setupdir = $(pkgdatadir)/setup
+
+ component_DATA = \
+ m17n.xml \
+ $(NULL)
+-componentdir = @datadir@/ibus/component
++componentdir = $(datadir)/ibus/component
+
+ EXTRA_DIST = \
+- m17n.xml.in.in \
+- default.xml.in \
++ m17n.xml.in \
++ $(desktop_in_in_files) \
+ $(NULL)
+
+ DISTCLEANFILES = \
+ m17n.xml.in \
+- default.xml.in \
+ $(NULL)
+
+ CLEANFILES = \
+ m17n.xml \
+- default.xml \
++ $(desktop_DATA) \
++ $(desktop_in_files) \
+ $(NULL)
+
++edit = sed \
++ -e 's|@VERSION[@]|$(VERSION)|g' \
++ -e 's|@libexecdir[@]|$(libexecdir)|g' \
++ -e 's|@pkgdatadir[@]|$(pkgdatadir)|g'
++
+ m17n.xml: m17n.xml.in
+-default.xml: default.xml.in
+-
+-SUFFIXES = .xml.in .xml
+-.xml.in.xml:
+- $(AM_V_GEN) \
+- ( \
+- libexecdir=${libexecdir}; \
+- pkgdatadir=${pkgdatadir}; \
+- setupdir=${setupdir}; \
+- s=`cat $<`; \
+- eval "echo \"$${s}\""; \
+- ) > $@
++ $(AM_V_GEN) $(edit) $< > $@.tmp && mv $@.tmp $@
+
+-test: ibus-engine-m17n
+- $(builddir)/ibus-engine-m17n
++desktop_in_in_files = ibus-setup-m17n.desktop.in.in
++desktop_in_files = $(desktop_in_in_files:.in.in=.in)
++
++$(desktop_in_files): %.desktop.in: %.desktop.in.in Makefile
++ $(AM_V_GEN) $(edit) $< > $@.tmp && mv $@.tmp $@
++
++desktopdir=$(datadir)/applications
++desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
++
++ at INTLTOOL_DESKTOP_RULE@
+diff --git a/src/default.xml b/src/default.xml
+new file mode 100644
+index 0000000..ffd733a
+--- /dev/null
++++ b/src/default.xml
+@@ -0,0 +1,434 @@
++<?xml version="1.0" encoding="utf-8"?>
++<engines>
++ <!-- This file defines the default config value for each
++ engine. A "name" element in an "engine" element allows
++ wildcard patterns. "engine" elements are evaluated in
++ first-to-last order and the latter match may override the
++ existing default. -->
++ <!-- Default for other engines. -->
++ <engine>
++ <name>m17n:*</name>
++ <rank>0</rank>
++ <preedit-highlight>FALSE</preedit-highlight>
++ <symbol></symbol>
++ </engine>
++ <!-- Blacklist some engines -->
++ <!-- kbd engines are duplicate of xkb engines -->
++ <engine>
++ <name>m17n:*:kbd</name>
++ <rank>-1</rank>
++ </engine>
++ <!-- zh:py is superseded by ibus-pinyin etc -->
++ <engine>
++ <name>m17n:zh:py</name>
++ <rank>-1</rank>
++ </engine>
++ <!-- ja:anthy is superseded by ibus-anthy -->
++ <engine>
++ <name>m17n:ja:anthy</name>
++ <rank>-1</rank>
++ </engine>
++ <!-- ko:han2 is superseded by ibus-hangul -->
++ <engine>
++ <name>m17n:ko:han2</name>
++ <rank>-1</rank>
++ </engine>
++ <!-- ko:romaja is superseded by ibus-hangul -->
++ <engine>
++ <name>m17n:ko:romaja</name>
++ <rank>-1</rank>
++ </engine>
++ <!-- Indic engines should be selected by default:
++ https://bugzilla.redhat.com/show_bug.cgi?id=640896 -->
++ <engine>
++ <name>m17n:as:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:bn:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:gu:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:hi:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:kn:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:ks:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:mai:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:ml:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:mr:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:ne:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:or:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:pa:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:sa:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:sd:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:si:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:ta:*</name>
++ <rank>1</rank>
++ </engine>
++ <engine>
++ <name>m17n:te:*</name>
++ <rank>1</rank>
++ </engine>
++ <!-- Assign higher rank to Indic engines which represent each
++ language. -->
++ <engine>
++ <name>m17n:as:phonetic</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:bn:inscript</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:gu:inscript</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:hi:inscript</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:kn:kgp</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:ks:kbd</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:mai:inscript</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:ml:inscript</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:mr:inscript</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:ne:rom</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:or:inscript</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:pa:inscript</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:sa:harvard-kyoto</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:sd:inscript</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:si:wijesekera</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:ta:tamil99</name>
++ <rank>2</rank>
++ </engine>
++ <engine>
++ <name>m17n:te:inscript</name>
++ <rank>2</rank>
++ </engine>
++ <!-- Assign lower rank to Sinhala Samanala since it is a
++ non-keyboard input method in Sinhala. -->
++ <engine>
++ <name>m17n:si:samanala</name>
++ <rank>0</rank>
++ </engine>
++ <!-- Some CJK engines use preedit. -->
++ <engine>
++ <name>m17n:zh:cangjie</name>
++ <preedit-highlight>TRUE</preedit-highlight>
++ </engine>
++ <engine>
++ <name>m17n:zh:py-b5</name>
++ <preedit-highlight>TRUE</preedit-highlight>
++ </engine>
++ <engine>
++ <name>m17n:zh:py-gb</name>
++ <preedit-highlight>TRUE</preedit-highlight>
++ </engine>
++ <engine>
++ <name>m17n:zh:py</name>
++ <preedit-highlight>TRUE</preedit-highlight>
++ </engine>
++ <engine>
++ <name>m17n:zh:quick</name>
++ <preedit-highlight>TRUE</preedit-highlight>
++ </engine>
++ <engine>
++ <name>m17n:zh:tonepy-b5</name>
++ <preedit-highlight>TRUE</preedit-highlight>
++ </engine>
++ <engine>
++ <name>m17n:zh:tonepy-gb</name>
++ <preedit-highlight>TRUE</preedit-highlight>
++ </engine>
++ <engine>
++ <name>m17n:zh:tonepy</name>
++ <preedit-highlight>TRUE</preedit-highlight>
++ </engine>
++ <engine>
++ <name>m17n:ja:anthy</name>
++ <preedit-highlight>TRUE</preedit-highlight>
++ </engine>
++ <!-- Set IME symbols. -->
++ <engine>
++ <name>m17n:as:*</name>
++ <symbol>অ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:bn:*</name>
++ <symbol>বা</symbol>
++ </engine>
++ <engine>
++ <name>m17n:gu:*</name>
++ <symbol>ગુ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:hi:*</name>
++ <symbol>हिं</symbol>
++ </engine>
++ <engine>
++ <name>m17n:kn:*</name>
++ <symbol>ಕ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:ks:*</name>
++ <symbol>क</symbol>
++ </engine>
++ <engine>
++ <name>m17n:mai:*</name>
++ <symbol>मै</symbol>
++ </engine>
++ <engine>
++ <name>m17n:ml:*</name>
++ <symbol>മ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:mr:*</name>
++ <symbol>म</symbol>
++ </engine>
++ <engine>
++ <name>m17n:ne:*</name>
++ <symbol>ने</symbol>
++ </engine>
++ <engine>
++ <name>m17n:or:*</name>
++ <symbol>ଓ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:pa:*</name>
++ <symbol>ਪੰ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:sa:*</name>
++ <symbol>सं</symbol>
++ </engine>
++ <engine>
++ <name>m17n:sd:*</name>
++ <symbol>सिं</symbol>
++ </engine>
++ <engine>
++ <name>m17n:si:*</name>
++ <symbol>සි</symbol>
++ </engine>
++ <engine>
++ <name>m17n:ta:*</name>
++ <symbol>த</symbol>
++ </engine>
++ <engine>
++ <name>m17n:te:*</name>
++ <symbol>తె</symbol>
++ </engine>
++ <engine>
++ <name>m17n:*:kbd</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:*:pre</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:*:post</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:am:sera</name>
++ <symbol>አ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:bo:*</name>
++ <symbol>ཀ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:cr:*</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:dv:*</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:eo:*</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:fa:*</name>
++ <symbol>ف</symbol>
++ </engine>
++ <engine>
++ <name>m17n:fr:*</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:ii:*</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:iu:*</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:ja:anthy</name>
++ <symbol>あ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:kk:*</name>
++ <symbol>قا</symbol>
++ </engine>
++ <engine>
++ <name>m17n:km:*</name>
++ <symbol>ក</symbol>
++ </engine>
++ <engine>
++ <name>m17n:lo:*</name>
++ <symbol>ກ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:nsk:*</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:oj:*</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:ps:*</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:ru:*</name>
++ <symbol>Я</symbol>
++ </engine>
++ <engine>
++ <name>m17n:sv:*</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:syrc:*</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:tai:*</name>
++ <symbol>꫞</symbol>
++ </engine>
++ <engine>
++ <name>m17n:th:*</name>
++ <symbol>ท</symbol>
++ </engine>
++ <engine>
++ <name>m17n:ur:*</name>
++ <symbol>خ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:vi:han</name>
++ <symbol>越</symbol>
++ </engine>
++ <engine>
++ <name>m17n:vi:nom*</name>
++ <symbol>喃</symbol>
++ </engine>
++ <engine>
++ <name>m17n:vi:*</name>
++ <symbol>ắ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:yi:*</name>
++ <symbol></symbol>
++ </engine>
++ <engine>
++ <name>m17n:zh:bopomofo</name>
++ <symbol>ㄅ</symbol>
++ </engine>
++ <engine>
++ <name>m17n:zh:cangjie</name>
++ <symbol>倉</symbol>
++ </engine>
++ <engine>
++ <name>m17n:zh:pinyin</name>
++ <symbol>PY</symbol>
++ <longname>hanyu pinyin (m17n)</longname>
++ </engine>
++ <engine>
++ <name>m17n:zh:py*</name>
++ <symbol>拼</symbol>
++ </engine>
++ <engine>
++ <name>m17n:zh:quick</name>
++ <symbol>簡</symbol>
++ </engine>
++ <engine>
++ <name>m17n:zh:tonepy*</name>
++ <symbol>调</symbol>
++ </engine>
++</engines>
+diff --git a/src/default.xml.in.in b/src/default.xml.in.in
+deleted file mode 100644
+index 9f5a01e..0000000
+--- a/src/default.xml.in.in
++++ /dev/null
+@@ -1,408 +0,0 @@
+-<?xml version="1.0" encoding="utf-8"?>
+-<engines>
+- <!-- This file defines the default config value for each
+- engine. A "name" element in an "engine" element allows
+- wildcard patterns. "engine" elements are evaluated in
+- first-to-last order and the latter match may override the
+- existing default. -->
+- <!-- Default for other engines. -->
+- <engine>
+- <name>m17n:*</name>
+- <rank>0</rank>
+- <preedit-highlight>FALSE</preedit-highlight>
+- <symbol></symbol>
+- </engine>
+- <!-- Indic engines should be selected by default:
+- https://bugzilla.redhat.com/show_bug.cgi?id=640896 -->
+- <engine>
+- <name>m17n:as:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:bn:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:gu:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:hi:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:kn:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:ks:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:mai:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:ml:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:mr:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:ne:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:or:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:pa:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:sa:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:sd:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:si:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:ta:*</name>
+- <rank>1</rank>
+- </engine>
+- <engine>
+- <name>m17n:te:*</name>
+- <rank>1</rank>
+- </engine>
+- <!-- Assign higher rank to Indic engines which represent each
+- language. -->
+- <engine>
+- <name>m17n:as:phonetic</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:bn:inscript</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:gu:inscript</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:hi:inscript</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:kn:kgp</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:ks:kbd</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:mai:inscript</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:ml:inscript</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:mr:inscript</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:ne:rom</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:or:inscript</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:pa:inscript</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:sa:harvard-kyoto</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:sd:inscript</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:si:wijesekera</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:ta:tamil99</name>
+- <rank>2</rank>
+- </engine>
+- <engine>
+- <name>m17n:te:inscript</name>
+- <rank>2</rank>
+- </engine>
+- <!-- Assign lower rank to Sinhala Samanala since it is a
+- non-keyboard input method in Sinhala. -->
+- <engine>
+- <name>m17n:si:samanala</name>
+- <rank>0</rank>
+- </engine>
+- <!-- Some CJK engines use preedit. -->
+- <engine>
+- <name>m17n:zh:cangjie</name>
+- <preedit-highlight>TRUE</preedit-highlight>
+- </engine>
+- <engine>
+- <name>m17n:zh:py-b5</name>
+- <preedit-highlight>TRUE</preedit-highlight>
+- </engine>
+- <engine>
+- <name>m17n:zh:py-gb</name>
+- <preedit-highlight>TRUE</preedit-highlight>
+- </engine>
+- <engine>
+- <name>m17n:zh:py</name>
+- <preedit-highlight>TRUE</preedit-highlight>
+- </engine>
+- <engine>
+- <name>m17n:zh:quick</name>
+- <preedit-highlight>TRUE</preedit-highlight>
+- </engine>
+- <engine>
+- <name>m17n:zh:tonepy-b5</name>
+- <preedit-highlight>TRUE</preedit-highlight>
+- </engine>
+- <engine>
+- <name>m17n:zh:tonepy-gb</name>
+- <preedit-highlight>TRUE</preedit-highlight>
+- </engine>
+- <engine>
+- <name>m17n:zh:tonepy</name>
+- <preedit-highlight>TRUE</preedit-highlight>
+- </engine>
+- <engine>
+- <name>m17n:ja:anthy</name>
+- <preedit-highlight>TRUE</preedit-highlight>
+- </engine>
+- <!-- Set IME symbols. -->
+- <engine>
+- <name>m17n:as:*</name>
+- <symbol>অ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:bn:*</name>
+- <symbol>বা</symbol>
+- </engine>
+- <engine>
+- <name>m17n:gu:*</name>
+- <symbol>ગુ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:hi:*</name>
+- <symbol>हिं</symbol>
+- </engine>
+- <engine>
+- <name>m17n:kn:*</name>
+- <symbol>ಕ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:ks:*</name>
+- <symbol>क</symbol>
+- </engine>
+- <engine>
+- <name>m17n:mai:*</name>
+- <symbol>मै</symbol>
+- </engine>
+- <engine>
+- <name>m17n:ml:*</name>
+- <symbol>മ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:mr:*</name>
+- <symbol>म</symbol>
+- </engine>
+- <engine>
+- <name>m17n:ne:*</name>
+- <symbol>ने</symbol>
+- </engine>
+- <engine>
+- <name>m17n:or:*</name>
+- <symbol>ଓ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:pa:*</name>
+- <symbol>ਪੰ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:sa:*</name>
+- <symbol>सं</symbol>
+- </engine>
+- <engine>
+- <name>m17n:sd:*</name>
+- <symbol>सिं</symbol>
+- </engine>
+- <engine>
+- <name>m17n:si:*</name>
+- <symbol>සි</symbol>
+- </engine>
+- <engine>
+- <name>m17n:ta:*</name>
+- <symbol>த</symbol>
+- </engine>
+- <engine>
+- <name>m17n:te:*</name>
+- <symbol>తె</symbol>
+- </engine>
+- <engine>
+- <name>m17n:*:kbd</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:*:pre</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:*:post</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:am:sera</name>
+- <symbol>አ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:bo:*</name>
+- <symbol>ཀ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:cr:*</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:dv:*</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:eo:*</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:fa:*</name>
+- <symbol>ف</symbol>
+- </engine>
+- <engine>
+- <name>m17n:fr:*</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:ii:*</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:iu:*</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:ja:anthy</name>
+- <symbol>あ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:kk:*</name>
+- <symbol>قا</symbol>
+- </engine>
+- <engine>
+- <name>m17n:km:*</name>
+- <symbol>ក</symbol>
+- </engine>
+- <engine>
+- <name>m17n:lo:*</name>
+- <symbol>ກ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:nsk:*</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:oj:*</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:ps:*</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:ru:*</name>
+- <symbol>Я</symbol>
+- </engine>
+- <engine>
+- <name>m17n:sv:*</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:syrc:*</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:tai:*</name>
+- <symbol>꫞</symbol>
+- </engine>
+- <engine>
+- <name>m17n:th:*</name>
+- <symbol>ท</symbol>
+- </engine>
+- <engine>
+- <name>m17n:ur:*</name>
+- <symbol>خ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:vi:han</name>
+- <symbol>越</symbol>
+- </engine>
+- <engine>
+- <name>m17n:vi:nom*</name>
+- <symbol>喃</symbol>
+- </engine>
+- <engine>
+- <name>m17n:vi:*</name>
+- <symbol>Ắ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:yi:*</name>
+- <symbol></symbol>
+- </engine>
+- <engine>
+- <name>m17n:zh:bopomofo</name>
+- <symbol>ㄅ</symbol>
+- </engine>
+- <engine>
+- <name>m17n:zh:cangjie</name>
+- <symbol>倉</symbol>
+- </engine>
+- <engine>
+- <name>m17n:zh:pinyin</name>
+- <symbol>PY</symbol>
+- <longname>hanyu pinyin (m17n)</longname>
+- </engine>
+- <engine>
+- <name>m17n:zh:py*</name>
+- <symbol>拼</symbol>
+- </engine>
+- <engine>
+- <name>m17n:zh:quick</name>
+- <symbol>簡</symbol>
+- </engine>
+- <engine>
+- <name>m17n:zh:tonepy*</name>
+- <symbol>调</symbol>
+- </engine>
+-</engines>
+diff --git a/src/engine.c b/src/engine.c
+index bd7ea0f..bcc1a71 100644
+--- a/src/engine.c
++++ b/src/engine.c
+@@ -23,6 +23,7 @@ struct _IBusM17NEngine {
+ IBusProperty *setup_prop;
+ #endif /* HAVE_SETUP */
+ IBusPropList *prop_list;
++ IBusKeymap *us_keymap;
+ };
+
+ struct _IBusM17NEngineClass {
+@@ -35,6 +36,7 @@ struct _IBusM17NEngineClass {
+ gint preedit_underline;
+ IBusPreeditFocusMode preedit_focus_mode;
+ gint lookup_table_orientation;
++ gboolean use_us_layout;
+
+ MInputMethod *im;
+ };
+@@ -64,14 +66,6 @@ static void ibus_m17n_engine_focus_out (IBusEngine *engine);
+ static void ibus_m17n_engine_reset (IBusEngine *engine);
+ static void ibus_m17n_engine_enable (IBusEngine *engine);
+ static void ibus_m17n_engine_disable (IBusEngine *engine);
+-static void ibus_engine_set_cursor_location (IBusEngine *engine,
+- gint x,
+- gint y,
+- gint w,
+- gint h);
+-static void ibus_m17n_engine_set_capabilities
+- (IBusEngine *engine,
+- guint caps);
+ static void ibus_m17n_engine_page_up (IBusEngine *engine);
+ static void ibus_m17n_engine_page_down (IBusEngine *engine);
+ static void ibus_m17n_engine_cursor_up (IBusEngine *engine);
+@@ -80,12 +74,6 @@ static void ibus_m17n_engine_property_activate
+ (IBusEngine *engine,
+ const gchar *prop_name,
+ guint prop_state);
+-static void ibus_m17n_engine_property_show
+- (IBusEngine *engine,
+- const gchar *prop_name);
+-static void ibus_m17n_engine_property_hide
+- (IBusEngine *engine,
+- const gchar *prop_name);
+
+ static void ibus_m17n_engine_commit_string
+ (IBusM17NEngine *m17n,
+@@ -263,6 +251,7 @@ ibus_m17n_engine_class_init (IBusM17NEngineClass *klass)
+ IBUS_ENGINE_PREEDIT_COMMIT :
+ IBUS_ENGINE_PREEDIT_CLEAR;
+ klass->lookup_table_orientation = IBUS_ORIENTATION_SYSTEM;
++ klass->use_us_layout = FALSE;
+
+ ibus_m17n_engine_config_free (engine_config);
+
+@@ -304,6 +293,14 @@ ibus_m17n_engine_class_init (IBusM17NEngineClass *klass)
+ klass->lookup_table_orientation = g_variant_get_int32 (value);
+ g_variant_unref (value);
+ }
++
++ value = g_variant_lookup_value (values,
++ "use_us_layout",
++ G_VARIANT_TYPE_BOOLEAN);
++ if (value != NULL) {
++ klass->use_us_layout = g_variant_get_boolean (value);
++ g_variant_unref (value);
++ }
+ g_variant_unref (values);
+ }
+
+@@ -340,6 +337,8 @@ ibus_m17n_config_value_changed (IBusConfig *config,
+ klass->preedit_underline = g_variant_get_int32 (value);
+ } else if (g_strcmp0 (name, "lookup_table_orientation") == 0) {
+ klass->lookup_table_orientation = g_variant_get_int32 (value);
++ } else if (g_strcmp0 (name, "use_us_layout") == 0) {
++ klass->use_us_layout = g_variant_get_boolean (value);
+ }
+ }
+ }
+@@ -384,6 +383,7 @@ ibus_m17n_engine_init (IBusM17NEngine *m17n)
+ m17n->table = ibus_lookup_table_new (9, 0, TRUE, TRUE);
+ g_object_ref_sink (m17n->table);
+ m17n->context = NULL;
++ m17n->us_keymap = ibus_keymap_get ("us");
+ }
+
+ static GObject*
+@@ -476,6 +476,11 @@ ibus_m17n_engine_destroy (IBusM17NEngine *m17n)
+ m17n->context = NULL;
+ }
+
++ if (m17n->us_keymap) {
++ g_object_unref (m17n->us_keymap);
++ m17n->us_keymap = NULL;
++ }
++
+ IBUS_OBJECT_CLASS (parent_class)->destroy ((IBusObject *)m17n);
+ }
+
+@@ -531,28 +536,25 @@ ibus_m17n_engine_commit_string (IBusM17NEngine *m17n,
+ Since IBus engines are supposed to be cross-platform, the code
+ should go into IBus core, instead of ibus-m17n. */
+ static MSymbol
+-ibus_m17n_key_event_to_symbol (guint keycode,
+- guint keyval,
+- guint modifiers)
++ibus_m17n_key_event_to_symbol (IBusM17NEngine *m17n,
++ guint keycode,
++ guint keyval,
++ guint modifiers)
+ {
+ GString *keysym;
+ MSymbol mkeysym = Mnil;
+ guint mask = 0;
+- IBusKeymap *keymap;
+
+ if (keyval >= IBUS_Shift_L && keyval <= IBUS_Hyper_R) {
+ return Mnil;
+ }
+
+- /* Here, keyval is already translated by IBUS_MOD5_MASK. Obtain
+- the untranslated keyval from the underlying keymap and
+- represent the translated keyval as the form "G-<untranslated
+- keyval>", which m17n-lib accepts. */
++ /* If keyval is already translated by IBUS_MOD5_MASK. Try to
++ obtain the untranslated keyval from the US keymap. */
+ if (modifiers & IBUS_MOD5_MASK) {
+- keymap = ibus_keymap_get ("us");
+- keyval = ibus_keymap_lookup_keysym (keymap, keycode,
++ keyval = ibus_keymap_lookup_keysym (m17n->us_keymap,
++ keycode,
+ modifiers & ~IBUS_MOD5_MASK);
+- g_object_unref (keymap);
+ }
+
+ keysym = g_string_new ("");
+@@ -656,15 +658,38 @@ ibus_m17n_engine_process_key_event (IBusEngine *engine,
+ guint modifiers)
+ {
+ IBusM17NEngine *m17n = (IBusM17NEngine *) engine;
++ IBusM17NEngineClass *klass =
++ (IBusM17NEngineClass *) G_OBJECT_GET_CLASS (m17n);
++ guint original_keyval = keyval;
+
+ if (modifiers & IBUS_RELEASE_MASK)
+ return FALSE;
+- MSymbol m17n_key = ibus_m17n_key_event_to_symbol (keycode, keyval, modifiers);
+
+- if (m17n_key == Mnil)
+- return FALSE;
++ if (klass->use_us_layout) {
++ keyval = ibus_keymap_lookup_keysym (m17n->us_keymap,
++ keycode,
++ modifiers);
++ }
+
+- return ibus_m17n_engine_process_key (m17n, m17n_key);
++ MSymbol m17n_key = ibus_m17n_key_event_to_symbol (m17n,
++ keycode,
++ keyval,
++ modifiers);
++ if (m17n_key != Mnil && ibus_m17n_engine_process_key (m17n, m17n_key)) {
++ return TRUE;
++ }
++
++ /* If keyval is translated in US layout, send the new keyval and
++ notify that the event is handled. */
++ if (keyval != original_keyval && 0x20 <= keyval && keyval < 0x7F) {
++ gchar buf[2];
++ buf[0] = keyval;
++ buf[1] = '\0';
++ ibus_m17n_engine_commit_string (m17n, buf);
++ return TRUE;
++ }
++
++ return FALSE;
+ }
+
+ static void
+@@ -704,8 +729,6 @@ ibus_m17n_engine_reset (IBusEngine *engine)
+ static void
+ ibus_m17n_engine_enable (IBusEngine *engine)
+ {
+- IBusM17NEngine *m17n = (IBusM17NEngine *) engine;
+-
+ parent_class->enable (engine);
+
+ /* Issue a dummy ibus_engine_get_surrounding_text() call to tell
+@@ -716,8 +739,6 @@ ibus_m17n_engine_enable (IBusEngine *engine)
+ static void
+ ibus_m17n_engine_disable (IBusEngine *engine)
+ {
+- IBusM17NEngine *m17n = (IBusM17NEngine *) engine;
+-
+ ibus_m17n_engine_focus_out (engine);
+ parent_class->disable (engine);
+ }
+@@ -951,7 +972,9 @@ ibus_m17n_engine_callback (MInputContext *context,
+ &anchor_pos);
+ nchars = ibus_text_get_length (text);
+ nbytes = g_utf8_offset_to_pointer (text->text, nchars) - text->text;
+- mt = mconv_decode_buffer (Mcoding_utf_8, text->text, nbytes);
++ mt = mconv_decode_buffer (Mcoding_utf_8,
++ (const unsigned char *) text->text,
++ nbytes);
+ g_object_unref (text);
+
+ len = (long) mplist_value (m17n->context->plist);
+diff --git a/src/ibus-m17n-preferences.ui b/src/ibus-m17n-preferences.ui
+index a46ab49..e85fb15 100644
+--- a/src/ibus-m17n-preferences.ui
++++ b/src/ibus-m17n-preferences.ui
+@@ -1,8 +1,8 @@
+-<?xml version="1.0"?>
++<?xml version="1.0" encoding="UTF-8"?>
+ <interface>
+ <requires lib="gtk+" version="2.14"/>
+ <!-- interface-naming-policy project-wide -->
+- <object class="GtkListStore" id="liststore_underline">
++ <object class="GtkListStore" id="liststore_orientation">
+ <columns>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+@@ -11,24 +11,20 @@
+ </columns>
+ <data>
+ <row>
+- <col id="0" translatable="yes">Single</col>
+- <col id="1">1</col>
+- </row>
+- <row>
+- <col id="0" translatable="yes">Double</col>
++ <col id="0" translatable="yes">System</col>
+ <col id="1">2</col>
+ </row>
+ <row>
+- <col id="0" translatable="yes">Low</col>
+- <col id="1">3</col>
++ <col id="0" translatable="yes">Vertical</col>
++ <col id="1">1</col>
+ </row>
+ <row>
+- <col id="0" translatable="yes">None</col>
++ <col id="0" translatable="yes">Horizontal</col>
+ <col id="1">0</col>
+ </row>
+ </data>
+ </object>
+- <object class="GtkListStore" id="liststore_orientation">
++ <object class="GtkListStore" id="liststore_underline">
+ <columns>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+@@ -37,32 +33,67 @@
+ </columns>
+ <data>
+ <row>
+- <col id="0" translatable="yes">System</col>
++ <col id="0" translatable="yes">Single</col>
++ <col id="1">1</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">Double</col>
+ <col id="1">2</col>
+ </row>
+ <row>
+- <col id="0" translatable="yes">Vertical</col>
+- <col id="1">1</col>
++ <col id="0" translatable="yes">Low</col>
++ <col id="1">3</col>
+ </row>
+ <row>
+- <col id="0" translatable="yes">Horizontal</col>
++ <col id="0" translatable="yes">None</col>
+ <col id="1">0</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkDialog" id="dialog">
+ <property name="width_request">400</property>
++ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="title" translatable="yes">Preferences</property>
+ <property name="window_position">center-always</property>
+ <property name="icon_name">gtk-preferences</property>
+ <property name="type_hint">normal</property>
+- <property name="has_separator">False</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox1">
+ <property name="visible">True</property>
+- <property name="orientation">vertical</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
++ <child internal-child="action_area">
++ <object class="GtkHButtonBox" id="dialog-action_area1">
++ <property name="visible">True</property>
++ <property name="can_focus">False</property>
++ <property name="layout_style">end</property>
++ <child>
++ <object class="GtkButton" id="buttonClose">
++ <property name="label">gtk-close</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="has_focus">True</property>
++ <property name="is_focus">True</property>
++ <property name="can_default">True</property>
++ <property name="has_default">True</property>
++ <property name="receives_default">True</property>
++ <property name="use_stock">True</property>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">True</property>
++ <property name="pack_type">end</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
+ <child>
+ <object class="GtkNotebook" id="pages">
+ <property name="visible">True</property>
+@@ -71,6 +102,7 @@
+ <child>
+ <object class="GtkAlignment" id="pageGeneral">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">12</property>
+ <property name="bottom_padding">12</property>
+ <property name="left_padding">12</property>
+@@ -78,20 +110,23 @@
+ <child>
+ <object class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
+- <property name="orientation">vertical</property>
++ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkTable" id="table1">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">2</property>
+ <child>
+@@ -123,6 +158,7 @@
+ <child>
+ <object class="GtkComboBox" id="combobox_underline">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="model">liststore_underline</property>
+ </object>
+ <packing>
+@@ -157,6 +193,7 @@
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Underline:</property>
+ </object>
+ <packing>
+@@ -171,31 +208,39 @@
+ <child type="label">
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Pre-edit Appearance</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame2">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkTable" id="table2">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
++ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <child>
+ <object class="GtkLabel" id="label9">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="yalign">0.46000000834465027</property>
+ <property name="label" translatable="yes">Lookup Table Orientation: </property>
+ </object>
+@@ -203,6 +248,7 @@
+ <child>
+ <object class="GtkComboBox" id="combobox_orientation">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="model">liststore_orientation</property>
+ </object>
+ <packing>
+@@ -210,6 +256,20 @@
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
++ <child>
++ <object class="GtkCheckButton" id="checkbutton_use_us_layout">
++ <property name="label" translatable="yes">Use US keyboard layout</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="right_attach">2</property>
++ <property name="top_attach">1</property>
++ <property name="bottom_attach">2</property>
++ </packing>
++ </child>
+ </object>
+ </child>
+ </object>
+@@ -217,12 +277,15 @@
+ <child type="label">
+ <object class="GtkLabel" id="label8">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Other</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+@@ -233,6 +296,7 @@
+ <child type="tab">
+ <object class="GtkLabel" id="label6">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">General</property>
+ </object>
+ <packing>
+@@ -242,6 +306,7 @@
+ <child>
+ <object class="GtkAlignment" id="pageAdvanced">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">12</property>
+ <property name="bottom_padding">12</property>
+ <property name="left_padding">12</property>
+@@ -249,11 +314,13 @@
+ <child>
+ <object class="GtkFrame" id="frame4">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment7">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+@@ -277,6 +344,7 @@
+ <child type="label">
+ <object class="GtkLabel" id="label7">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>m17n-lib Configuration</b></property>
+ <property name="use_markup">True</property>
+ </object>
+@@ -291,6 +359,7 @@
+ <child type="tab">
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Advanced</property>
+ </object>
+ <packing>
+@@ -300,38 +369,11 @@
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+- <child internal-child="action_area">
+- <object class="GtkHButtonBox" id="dialog-action_area1">
+- <property name="visible">True</property>
+- <property name="layout_style">end</property>
+- <child>
+- <object class="GtkButton" id="buttonClose">
+- <property name="label">gtk-close</property>
+- <property name="visible">True</property>
+- <property name="can_focus">True</property>
+- <property name="has_focus">True</property>
+- <property name="is_focus">True</property>
+- <property name="can_default">True</property>
+- <property name="has_default">True</property>
+- <property name="receives_default">True</property>
+- <property name="use_stock">True</property>
+- </object>
+- <packing>
+- <property name="expand">False</property>
+- <property name="fill">False</property>
+- <property name="position">0</property>
+- </packing>
+- </child>
+- </object>
+- <packing>
+- <property name="expand">False</property>
+- <property name="pack_type">end</property>
+- <property name="position">0</property>
+- </packing>
+- </child>
+ </object>
+ </child>
+ <action-widgets>
+diff --git a/src/ibus-setup-m17n.desktop.in.in b/src/ibus-setup-m17n.desktop.in.in
+new file mode 100644
+index 0000000..a380cb3
+--- /dev/null
++++ b/src/ibus-setup-m17n.desktop.in.in
+@@ -0,0 +1,7 @@
++[Desktop Entry]
++_Name=IBus M17N Setup
++_Comment=Set up IBus M17N engine
++Exec=@libexecdir@/ibus-setup-m17n
++NoDisplay=true
++Type=Application
++StartupNotify=true
+diff --git a/src/m17n.xml.in b/src/m17n.xml.in
+new file mode 100644
+index 0000000..fc215ab
+--- /dev/null
++++ b/src/m17n.xml.in
+@@ -0,0 +1,18 @@
++<?xml version="1.0" encoding="utf-8"?>
++<!-- filename: m17n.xml -->
++<component>
++ <name>org.freedesktop.IBus.M17N</name>
++ <description>M17N Component</description>
++ <exec>@libexecdir@/ibus-engine-m17n --ibus</exec>
++ <version>@VERSION@</version>
++ <author>Peng Huang <shawn.p.huang at gmail.com></author>
++ <license>GPL</license>
++ <homepage>http://code.google.com/p/ibus</homepage>
++ <textdomain>ibus-m17n</textdomain>
++ <observed-paths>
++ <path>/usr/share/m17n/</path>
++ <path>@pkgdatadir@/default.xml</path>
++ <path>~/.m17n.d/</path>
++ </observed-paths>
++ <engines exec="@libexecdir@/ibus-engine-m17n --xml" />
++</component>
+diff --git a/src/m17n.xml.in.in b/src/m17n.xml.in.in
+deleted file mode 100644
+index 2f18ad5..0000000
+--- a/src/m17n.xml.in.in
++++ /dev/null
+@@ -1,18 +0,0 @@
+-<?xml version=\"1.0\" encoding=\"utf-8\"?>
+-<!-- filename: m17n.xml -->
+-<component>
+- <name>org.freedesktop.IBus.M17N</name>
+- <description>M17N Component</description>
+- <exec>${libexecdir}/ibus-engine-m17n --ibus</exec>
+- <version>@VERSION@</version>
+- <author>Peng Huang <shawn.p.huang at gmail.com></author>
+- <license>GPL</license>
+- <homepage>http://code.google.com/p/ibus</homepage>
+- <textdomain>ibus-m17n</textdomain>
+- <observed-paths>
+- <path>/usr/share/m17n/</path>
+- <path>${setupdir}/default.xml</path>
+- <path>~/.m17n.d/</path>
+- </observed-paths>
+- <engines exec=\"${libexecdir}/ibus-engine-m17n --xml\" />
+-</component>
+diff --git a/src/m17nutil.c b/src/m17nutil.c
+index 51026b2..d82b855 100644
+--- a/src/m17nutil.c
++++ b/src/m17nutil.c
+@@ -11,7 +11,7 @@
+
+ static MConverter *utf8_converter = NULL;
+
+-#define DEFAULT_XML (SETUPDIR "/default.xml")
++#define DEFAULT_XML (PKGDATADIR "/default.xml")
+
+ typedef enum {
+ ENGINE_CONFIG_RANK_MASK = 1 << 0,
+@@ -53,7 +53,9 @@ ibus_m17n_mtext_to_utf8 (MText *text)
+ bufsize = (mtext_len (text) + 1) * 6;
+ buf = (gchar *) g_malloc (bufsize);
+
+- mconv_rebind_buffer (utf8_converter, buf, bufsize);
++ mconv_rebind_buffer (utf8_converter,
++ (const unsigned char *) buf,
++ bufsize);
+ mconv_encode (utf8_converter, text);
+
+ buf [utf8_converter->nbytes] = 0;
+@@ -76,7 +78,9 @@ ibus_m17n_mtext_to_ucs4 (MText *text, glong *nchars)
+ bufsize = (mtext_len (text) + 1) * 6;
+ buf = (gchar *) g_malloc (bufsize);
+
+- mconv_rebind_buffer (utf8_converter, buf, bufsize);
++ mconv_rebind_buffer (utf8_converter,
++ (const unsigned char *) buf,
++ bufsize);
+ if (mconv_encode (utf8_converter, text) < 0) {
+ g_free (buf);
+ return NULL;
+@@ -133,7 +137,7 @@ ibus_m17n_engine_new (MSymbol lang,
+ "language", msymbol_name (lang),
+ "license", "GPL",
+ "icon", engine_icon ? engine_icon : "",
+- "layout", "us",
++ "layout", "default",
+ "rank", config->rank,
+ "symbol", config->symbol ? config->symbol : "",
+ "setup", engine_setup,
+@@ -202,17 +206,12 @@ ibus_m17n_list_engines (void)
+ if (l) {
+ /* check candidates encoding */
+ MPlist *sl;
+- MSymbol varname;
+- MText *vardesc;
+- MSymbol varunknown;
+ MSymbol varcharset;
+
+ sl = mplist_value (l);
+- varname = mplist_value (sl);
++ /* L = (VAR-NAME DESCRIPTION 'nil' VALUE) */
+ sl = mplist_next (sl);
+- vardesc = mplist_value (sl);
+ sl = mplist_next (sl);
+- varunknown = mplist_value (sl);
+ sl = mplist_next (sl);
+ varcharset = mplist_value (sl);
+
+@@ -336,17 +335,24 @@ ibus_m17n_get_component (void)
+ GList *engines, *p;
+ IBusComponent *component;
+ XMLNode *node;
++ const gchar *pkgdatadir;
++ gchar *default_xml;
+
+ component = ibus_component_new ("org.freedesktop.IBus.M17n",
+ N_("M17N"),
+- "0.1.0",
++ PACKAGE_VERSION,
+ "GPL",
+ "Peng Huang <shawn.p.huang at gmail.com>",
+ "http://code.google.com/p/ibus/",
+ "",
+- "ibus-m17n");
++ PACKAGE_NAME);
+
+- node = ibus_xml_parse_file (DEFAULT_XML);
++ pkgdatadir = g_getenv ("IBUS_M17N_PKGDATADIR");
++ if (pkgdatadir == NULL)
++ pkgdatadir = PKGDATADIR;
++ default_xml = g_build_filename (pkgdatadir, "default.xml", NULL);
++
++ node = ibus_xml_parse_file (default_xml);
+ if (node && g_strcmp0 (node->name, "engines") == 0) {
+ for (p = node->sub_nodes; p != NULL; p = p->next) {
+ XMLNode *sub_node = p->data;
+@@ -367,10 +373,12 @@ ibus_m17n_get_component (void)
+ }
+ config_list = g_slist_reverse (config_list);
+ } else
+- g_warning ("failed to parse %s", DEFAULT_XML);
++ g_warning ("failed to parse %s", default_xml);
+ if (node)
+ ibus_xml_free (node);
+
++ g_free (default_xml);
++
+ engines = ibus_m17n_list_engines ();
+
+ for (p = engines; p != NULL; p = p->next)
+diff --git a/src/setup.c b/src/setup.c
+index cc5cb09..513fabf 100644
+--- a/src/setup.c
++++ b/src/setup.c
+@@ -25,6 +25,7 @@ struct _SetupDialog {
+ GtkWidget *colorbutton_foreground;
+ GtkWidget *checkbutton_background;
+ GtkWidget *colorbutton_background;
++ GtkWidget *checkbutton_use_us_layout;
+ GtkWidget *treeview;
+ GtkListStore *store;
+
+@@ -73,7 +74,9 @@ parse_m17n_value (MPlist *plist, gchar *text)
+ if (mplist_key (plist) == Mtext) {
+ MText *mtext;
+
+- mtext = mtext_from_data (text, strlen (text), MTEXT_FORMAT_UTF_8);
++ mtext = mconv_decode_buffer (Mcoding_utf_8,
++ (const unsigned char *) text,
++ strlen (text));
+ value = mplist ();
+ mplist_add (value, Mtext, mtext);
+ return value;
+@@ -288,6 +291,25 @@ load_choice (GVariant *values,
+ }
+
+ static void
++load_toggle (GVariant *values,
++ GtkToggleButton *togglebutton,
++ const gchar *name,
++ gboolean defval)
++{
++ GVariant *value;
++ gboolean bvalue;
++
++ bvalue = defval;
++ value = g_variant_lookup_value (values, name, G_VARIANT_TYPE_BOOLEAN);
++ if (value != NULL) {
++ bvalue = g_variant_get_boolean (value);
++ g_variant_unref (value);
++ }
++
++ gtk_toggle_button_set_active (togglebutton, bvalue);
++}
++
++static void
+ setup_dialog_load_config (SetupDialog *dialog)
+ {
+ GVariant *values;
+@@ -336,6 +358,12 @@ setup_dialog_load_config (SetupDialog *dialog)
+ "lookup_table_orientation",
+ IBUS_ORIENTATION_SYSTEM);
+
++ /* Use US keyboard layout */
++ load_toggle (values,
++ GTK_TOGGLE_BUTTON (dialog->checkbutton_use_us_layout),
++ "use_us_layout",
++ FALSE);
++
+ /* Advanced -> m17n-lib configuration */
+ dialog->store = gtk_list_store_new (NUM_COLS,
+ G_TYPE_STRING,
+@@ -372,10 +400,10 @@ setup_dialog_load_config (SetupDialog *dialog)
+ static gchar *
+ _gdk_color_to_string (GdkColor *color)
+ {
+- g_strdup_printf ("#%02X%02X%02X",
+- (color->red & 0xFF00) >> 8,
+- (color->green & 0xFF00) >> 8,
+- (color->blue & 0xFF00) >> 8);
++ return g_strdup_printf ("#%02X%02X%02X",
++ (color->red & 0xFF00) >> 8,
++ (color->green & 0xFF00) >> 8,
++ (color->blue & 0xFF00) >> 8);
+ }
+
+ static void
+@@ -418,6 +446,20 @@ save_choice (SetupDialog *dialog,
+ ibus_config_set_value (dialog->config, dialog->section, name, value);
+ }
+
++static void
++save_toggle (SetupDialog *dialog,
++ GtkToggleButton *togglebutton,
++ const gchar *name)
++{
++ GVariant *value;
++
++ value = g_variant_new_boolean (gtk_toggle_button_get_active (togglebutton));
++ ibus_config_set_value (dialog->config,
++ dialog->section,
++ name,
++ value);
++}
++
+ static gboolean
+ save_m17n_options (SetupDialog *dialog)
+ {
+@@ -428,7 +470,7 @@ save_m17n_options (SetupDialog *dialog)
+ gboolean retval = TRUE;
+
+ if (!gtk_tree_model_get_iter_first (model, &iter))
+- return;
++ return FALSE;
+
+ do {
+ gtk_tree_model_get (model, &iter,
+@@ -499,6 +541,9 @@ setup_dialog_save_config (SetupDialog *dialog)
+ save_choice (dialog,
+ GTK_COMBO_BOX (dialog->combobox_orientation),
+ "lookup_table_orientation");
++ save_toggle (dialog,
++ GTK_TOGGLE_BUTTON (dialog->checkbutton_use_us_layout),
++ "use_us_layout");
+ save_m17n_options (dialog);
+ }
+
+@@ -525,7 +570,7 @@ setup_dialog_new (IBusConfig *config,
+
+ error = NULL;
+ if (gtk_builder_add_from_file (builder,
+- SETUPDIR "/ibus-m17n-preferences.ui",
++ PKGDATADIR "setup/ibus-m17n-preferences.ui",
+ &error) == 0) {
+ g_warning ("can't read ibus-m17n-preferences.ui: %s",
+ error->message);
+@@ -547,6 +592,8 @@ setup_dialog_new (IBusConfig *config,
+ dialog->combobox_underline = GTK_WIDGET (object);
+ object = gtk_builder_get_object (builder, "combobox_orientation");
+ dialog->combobox_orientation = GTK_WIDGET (object);
++ object = gtk_builder_get_object (builder, "checkbutton_use_us_layout");
++ dialog->checkbutton_use_us_layout = GTK_WIDGET (object);
+ object = gtk_builder_get_object (builder, "treeview_mim_config");
+ dialog->treeview = GTK_WIDGET (object);
+
+@@ -567,9 +614,8 @@ start (const gchar *engine_name)
+ {
+ IBusBus *bus;
+ IBusConfig *config;
+- gchar **strv, *section;
++ gchar **strv;
+ SetupDialog *dialog;
+- GObject *object;
+
+ ibus_init ();
+ ibus_m17n_init_common ();
+@@ -610,6 +656,11 @@ main (gint argc, gchar **argv)
+ g_option_context_free (context);
+
+ gtk_init (&argc, &argv);
++
++ if (!opt_name) {
++ opt_name = (gchar *) g_getenv ("IBUS_ENGINE_NAME");
++ }
++
+ if (!opt_name) {
+ fprintf (stderr, "can't determine IBus engine name; use --name\n");
+ exit (1);
diff --git a/ibus-m17n-hide-title-status.patch b/ibus-m17n-hide-title-status.patch
index 6326eba..b373882 100644
--- a/ibus-m17n-hide-title-status.patch
+++ b/ibus-m17n-hide-title-status.patch
@@ -11,15 +11,15 @@ Index: ibus-m17n-1.3.4/src/engine.c
===================================================================
--- ibus-m17n-1.3.4.orig/src/engine.c
+++ ibus-m17n-1.3.4/src/engine.c
-@@ -36,6 +36,7 @@ struct _IBusM17NEngineClass {
- IBusPreeditFocusMode preedit_focus_mode;
+@@ -38,6 +38,7 @@ struct _IBusM17NEngineClass {
gint lookup_table_orientation;
+ gboolean use_us_layout;
+ gchar *title;
MInputMethod *im;
};
-@@ -245,6 +246,10 @@ ibus_m17n_engine_class_init (IBusM17NEng
+@@ -233,6 +234,10 @@ ibus_m17n_engine_class_init (IBusM17NEng
}
engine_name = g_strdup_printf ("m17n:%s:%s", lang, name);
klass->config_section = g_strdup_printf ("engine/M17N/%s/%s", lang, name);
@@ -30,7 +30,7 @@ Index: ibus-m17n-1.3.4/src/engine.c
g_free (lang);
g_free (name);
-@@ -903,8 +908,9 @@ ibus_m17n_engine_callback (MInputContext
+@@ -924,8 +929,9 @@ ibus_m17n_engine_callback (MInputContext
else if (command == Minput_status_draw) {
gchar *status;
status = ibus_m17n_mtext_to_utf8 (m17n->context->status);
diff --git a/ibus-m17n-xkb-options.patch b/ibus-m17n-xkb-options.patch
index a4179ed..1e74113 100644
--- a/ibus-m17n-xkb-options.patch
+++ b/ibus-m17n-xkb-options.patch
@@ -1,19 +1,8 @@
-From ab9d608fdb6054b4b135f891ad5fa1fa7ce27c7b Mon Sep 17 00:00:00 2001
-From: Daiki Ueno <ueno at unixuser.org>
-Date: Mon, 8 Aug 2011 09:59:28 +0900
-Subject: [PATCH 1/4] Set XKB layout option via default.xml.
-
----
- src/default.xml.in.in | 9 +++++++++
- src/m17nutil.c | 13 +++++++++++--
- src/m17nutil.h | 3 +++
- 3 files changed, 23 insertions(+), 2 deletions(-)
-
-diff --git a/src/default.xml.in.in b/src/default.xml.in.in
-index 9f5a01e..beae494 100644
---- a/src/default.xml.in.in
-+++ b/src/default.xml.in.in
-@@ -158,6 +158,15 @@
+Index: ibus-m17n-1.3.4/src/default.xml
+===================================================================
+--- ibus-m17n-1.3.4.orig/src/default.xml
++++ ibus-m17n-1.3.4/src/default.xml
+@@ -184,6 +184,15 @@
<name>m17n:si:samanala</name>
<rank>0</rank>
</engine>
@@ -29,10 +18,10 @@ index 9f5a01e..beae494 100644
<!-- Some CJK engines use preedit. -->
<engine>
<name>m17n:zh:cangjie</name>
-diff --git a/src/m17nutil.c b/src/m17nutil.c
-index 51026b2..0b46531 100644
---- a/src/m17nutil.c
-+++ b/src/m17nutil.c
+Index: ibus-m17n-1.3.4/src/m17nutil.c
+===================================================================
+--- ibus-m17n-1.3.4.orig/src/m17nutil.c
++++ ibus-m17n-1.3.4/src/m17nutil.c
@@ -17,7 +17,8 @@ typedef enum {
ENGINE_CONFIG_RANK_MASK = 1 << 0,
ENGINE_CONFIG_SYMBOL_MASK = 1 << 1,
@@ -43,25 +32,25 @@ index 51026b2..0b46531 100644
} EngineConfigMask;
struct _EngineConfigNode {
-@@ -133,7 +134,7 @@ ibus_m17n_engine_new (MSymbol lang,
+@@ -137,7 +138,7 @@ ibus_m17n_engine_new (MSymbol lang,
"language", msymbol_name (lang),
"license", "GPL",
"icon", engine_icon ? engine_icon : "",
-- "layout", "us",
-+ "layout", config->layout ? config->layout : "us",
+- "layout", "default",
++ "layout", config->layout ? config->layout : "default",
"rank", config->rank,
"symbol", config->symbol ? config->symbol : "",
"setup", engine_setup,
-@@ -275,6 +276,8 @@ ibus_m17n_get_engine_config (const gchar *engine_name)
+@@ -272,6 +273,8 @@ ibus_m17n_get_engine_config (const gchar
+ config->symbol = cnode->config.symbol;
+ if (cnode->mask & ENGINE_CONFIG_LONGNAME_MASK)
config->longname = cnode->config.longname;
- if (cnode->mask & ENGINE_CONFIG_PREEDIT_HIGHLIGHT_MASK)
- config->preedit_highlight = cnode->config.preedit_highlight;
+ if (cnode->mask & ENGINE_CONFIG_LAYOUT_MASK)
+ config->layout = cnode->config.layout;
+ if (cnode->mask & ENGINE_CONFIG_PREEDIT_HIGHLIGHT_MASK)
+ config->preedit_highlight = cnode->config.preedit_highlight;
}
- }
- return config;
-@@ -315,6 +318,12 @@ ibus_m17n_engine_config_parse_xml_node (EngineConfigNode *cnode,
+@@ -314,6 +317,12 @@ ibus_m17n_engine_config_parse_xml_node (
cnode->mask |= ENGINE_CONFIG_LONGNAME_MASK;
continue;
}
@@ -74,10 +63,10 @@ index 51026b2..0b46531 100644
if (g_strcmp0 (sub_node->name , "preedit-highlight") == 0) {
if (g_ascii_strcasecmp ("TRUE", sub_node->text) == 0)
cnode->config.preedit_highlight = TRUE;
-diff --git a/src/m17nutil.h b/src/m17nutil.h
-index d790cf8..93faad4 100644
---- a/src/m17nutil.h
-+++ b/src/m17nutil.h
+Index: ibus-m17n-1.3.4/src/m17nutil.h
+===================================================================
+--- ibus-m17n-1.3.4.orig/src/m17nutil.h
++++ ibus-m17n-1.3.4/src/m17nutil.h
@@ -20,6 +20,9 @@ struct _IBusM17NEngineConfig {
/* overridding longname shown on panel */
gchar *longname;
@@ -88,6 +77,3 @@ index d790cf8..93faad4 100644
/* whether to highlight preedit */
gboolean preedit_highlight;
};
---
-1.7.7.6
-
diff --git a/ibus-m17n.spec b/ibus-m17n.spec
index 7d93385..2bebcf4 100644
--- a/ibus-m17n.spec
+++ b/ibus-m17n.spec
@@ -1,40 +1,19 @@
-%if (0%{?fedora} > 14 || 0%{?rhel} > 6)
-%global require_ibus_version 1.3.99.20110817
-%global require_eekboard_version 1.0.6
-%else
-%global require_ibus_version 1.3.0
-%global require_eekboard_version 0.0.6
-%endif
-%global have_bridge_hotkey 0
-
-%if (0%{?fedora} > 14 || 0%{?rhel} > 6)
-%global _with_gtk --with-gtk=3.0
-%else
-%global _with_gtk --with-gtk=2.0
-%endif
-
-%if (0%{?fedora} > 16 || 0%{?rhel} > 6)
-%global _enable_eekboard --enable-eekboard
-%endif
-
+%global require_ibus_version 1.4.0
Name: ibus-m17n
Version: 1.3.4
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: The M17N engine for IBus platform
License: GPLv2+
Group: System Environment/Libraries
URL: http://code.google.com/p/ibus/
Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
-# Patch0: ibus-m17n-HEAD.patch
+Patch0: ibus-m17n-HEAD.patch
+# Fedora specific patches (not upstreamable):
+# Enable lv3:ralt_switch option for some Indic engines in default.xml.
Patch1: ibus-m17n-xkb-options.patch
+# Don't make the status button clickable (maybe obsolete).
Patch2: ibus-m17n-hide-title-status.patch
-Patch3: ibus-m17n-blacklist-engines.patch
-Patch4: ibus-m17n-virtkbd.patch
-Patch5: ibus-m17n-fix-mtext-config.patch
-Patch6: ibus-m17n-translit-layout.patch
-Patch7: ibus-m17n-honor-user-cflags.patch
-Patch8: ibus-m17n-desktop-file.patch
# The following BR is for autogen and not necessary when packging
# released tarballs.
@@ -44,19 +23,12 @@ BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: gnome-common
BuildRequires: m17n-lib-devel
-%if (0%{?fedora} > 14 || 0%{?rhel} > 6)
BuildRequires: gtk3-devel
-%else
-BuildRequires: gtk2-devel
-%endif
BuildRequires: ibus-devel >= %{require_ibus_version}
-BuildRequires: eekboard-devel >= %{require_eekboard_version}
BuildRequires: desktop-file-utils
Requires: ibus >= %{require_ibus_version}
Requires: m17n-lib
-Requires: eekboard-service >= %{require_eekboard_version}
-Requires: iok
%description
M17N engine for IBus input platform. It allows input of many languages using
@@ -65,20 +37,14 @@ the input table maps from m17n-db.
%prep
%setup -q
-#patch0 -p1 -b .HEAD
+%patch0 -p1 -b .HEAD
%patch1 -p1 -b .xkb-options
%patch2 -p1 -b .hide-title-status
-%patch3 -p1 -b .blacklist-engines
-%patch4 -p1 -b .virtkbd
-%patch5 -p1 -b .fix-mtext-config
-%patch6 -p1 -b .translit-layout
-%patch7 -p1 -b .honor-user-cflags
-%patch8 -p1 -b .desktop-file
NOCONFIGURE=1 ./autogen.sh
%build
-%configure --disable-static %{?_with_gtk} %{?_with_hotkeys} %{?_enable_eekboard}
+%configure --disable-static --with-gtk=3.0
# make -C po update-gmo
make %{?_smp_mflags}
@@ -98,6 +64,12 @@ desktop-file-validate ${RPM_BUILD_ROOT}%{_datadir}/applications/ibus-setup-m17n.
%{_datadir}/applications/ibus-setup-m17n.desktop
%changelog
+* Fri Apr 26 2013 Daiki Ueno <deno at redhat.com> - 1.3.4-8
+- Update ibus-m17n-HEAD.patch to the latest upstream master
+- Remove unnecessary and not upstreamable patches
+- Use gtk3 always
+- Fix bug 912592 - ibus-m17n should use default keyboard in most cases
+
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.3.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
More information about the scm-commits
mailing list