Hello community,

here is the log from the commit of package ibus.3686 for openSUSE:13.2:Update 
checked in at 2015-04-15 12:59:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/ibus.3686 (Old)
 and      /work/SRC/openSUSE:13.2:Update/.ibus.3686.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ibus.3686"

Changes:
--------
New Changes file:

--- /dev/null   2015-03-12 01:14:30.992027505 +0100
+++ /work/SRC/openSUSE:13.2:Update/.ibus.3686.new/ibus.changes  2015-04-15 
12:59:35.000000000 +0200
@@ -0,0 +1,594 @@
+-------------------------------------------------------------------
+Sat Mar 28 09:30:59 UTC 2015 - [email protected]
+
+- Fix boo#924696: settings of ibus engines are not saved
+  * Remove inappropriate %ghost from the dconf files
+
+-------------------------------------------------------------------
+Sat Jan 24 14:44:45 UTC 2015 - [email protected]
+
+- modify xim.d-ibus-121: remove obsolete 'PATH=$OLD_PATH' which
+  causes loss of the PATH variable when sourced
+
+-------------------------------------------------------------------
+Mon Oct 13 09:18:34 UTC 2014 - [email protected]
+
+- use desktop file categories Settings;DesktopSettings instead of
+  System
+
+-------------------------------------------------------------------
+Wed Oct  8 14:01:39 UTC 2014 - [email protected]
+
+- Add im-engines-precede-xkb.patch
+  * allow users to use an IM engine without any operation
+- Update the launch script
+  * remove the obsolete part for SKIM (bnc#860486)
+  * do not set OOO_FORCE_DESKTOP=gnome
+    if libreoffice-gnome is not installed (bnc#899045)
+
+-------------------------------------------------------------------
+Mon Sep  8 16:39:26 UTC 2014 - [email protected]
+
+- Do not suggest to install ibus when installing
+  libreoffice/libreoffice-gnome on SLE12.
+
+-------------------------------------------------------------------
+Fri Sep  5 18:32:14 UTC 2014 - [email protected]
+
+- properly disable python3 builds:
+  * ibus itself isn't python3 ready, its python module is totally
+    not usable under python3.
+- move some Obsoletes to the correct sub-package.
+
+-------------------------------------------------------------------
+Sun Aug 31 13:13:17 UTC 2014 - [email protected]
+
+- Fix bnc#893271. Keep python-ibus.
+
+-------------------------------------------------------------------
+Sat Aug 30 17:45:15 UTC 2014 - [email protected]
+
+- Add patch: ibus-python3-migration.patch
+  * I didn't do the hard "port", just simple 2to3 tasks.
+  * it'll remove "blockage" or python3-ibus is totally unusable.
+
+-------------------------------------------------------------------
+Tue Aug 26 08:15:16 UTC 2014 - [email protected]
+
+- Do not only requires typelib-1_0-Gtk-3_0 when building with
+  python3.
+
+-------------------------------------------------------------------
+Fri Aug 22 12:49:54 UTC 2014 - [email protected]
+
+- Update ibus xim script to properly detect GNOME 3.12+ and to use
+  ibus default configuration on first startup of GNOME (bnc#862589
+  internal), with help from Takashi Iwai.
+
+-------------------------------------------------------------------
+Mon Aug 11 15:03:41 CEST 2014 - [email protected]
+
+- Fix default category for ibus-setup.desktop.
+
+-------------------------------------------------------------------
+Tue Aug  5 08:48:21 UTC 2014 - [email protected]
+
+- Do not build with python3 or wayland on SLE12.
+- Fix file list when building with python2.
+
+-------------------------------------------------------------------
+Thu Jul 31 12:07:24 UTC 2014 - [email protected]
+
+- remove patches merged by upstream
+  * add-libgnomekbd-and-load-preload-engines.patch
+  * reload-preload-engines-until-users-customize-the-list.patch
+- obsoletes python-ibus when packaged for Python 3 
+
+-------------------------------------------------------------------
+Sun Jul 27 15:15:28 UTC 2014 - [email protected]
+
+- fix hillwood's timestamp in changelog
+- add two more macros to macros.ibus
+
+-------------------------------------------------------------------
+Sat Jul 26 18:01:19 UTC 2014 - [email protected]
+
+- update version 1.5.8
+  * Set max-width-chars property in ibus-setup wrapped GtkLabel
+  * Add German (nodeadkeys) keymap in simple.xml
+  * Delete Korean keymap
+  * Let ibus-ui-gtk3 not to show zero-lenght preedit text
+  * Fix many memory leaks provided by Christophe Fergeau
+  * Add Polish (qwertz) keymap in simple.xml
+  * Fix escape key with Ctrl+Shift+U ISO
+  * Update ibuscomposetable.h for pt-br
+  * Set up ibus engines when users log into the session for the first time
+  * Do not sort ibus engines when they are saved by ibus-setup
+  * Update IBusKeymap jp
+  * Run xmodmap after run setxkbmap -l layout
+  * Add ibus reset-config and read-config sub-commands
+  * Fix ibus-setup SEGV in enginetreeview.py
+  * Fix deprecated warnings with python3-gobject 3.13.3
+  * Export the 'IBUS_SETUP_XID' environment variable for each engine setup
+  * Fix deprecated gtk3 GtkMisc, GtkAlignment and vala Gdk.X11Display
+  * Enhance UI to add engines on ibus-setup
+- mask add-libgnomekbd-and-load-preload-engines.patch and
+  reload-preload-engines-until-users-customize-the-list.patch
+  * upstream may have fixed these issues as these patches are issued
+    on May 7th.
+- use python3 to build ibus, as hillwood switched ibus-table to python3
+  * add ibus-force-python3.patch, because ibus will use python3 to build
+    ibus-setup and bindings only when PYTHON2 variable is empty. And fix
+    'print sysconfig.PREFIX' syntax errors in python-config.py.
+- add ibus-vala-0.18.patch to fix build for openSUSE 12.3
+
+-------------------------------------------------------------------
+Sat Jul 26 17:32:07 UTC 2014 - [email protected]
+
+- clean specfile with service and spec-cleaner
+  * don't use vague wildcards aggresively in %%files section
+- add macros.ibus to ease packaging
+
+-------------------------------------------------------------------
+Thu Jul 26 12:24:17 UTC 2014 - [email protected]
+
+- Enable wayland support
+
+-------------------------------------------------------------------
+Thu Jun  5 12:06:53 UTC 2014 - [email protected]
+
+- Update to 1.5.7
+  * Add Czech (qwerty) keymap
+  * Enables to get current input context from panels
+  * Fix leakage in ibus_get_local_machine_id()
+  * Do not show Property Panel by default
+  * Focus-in events do not move Property Panel
+    if the panel is configured to be always shown 
+
+-------------------------------------------------------------------
+Tue May 20 15:28:40 CEST 2014 - [email protected]
+
+- Fix the lost XIM input after GNOME screen lock (bnc#874969):
+  ibus-xim-fix-re-focus-after-lock.patch
+
+-------------------------------------------------------------------
+Wed May 14 08:04:18 UTC 2014 - [email protected]
+
+- Let GNOME 3 handles ibus startup&setup. (bnc#873016)
+  * Changed xim.d-ibus-121.
+  * Reformatting the latter part of the xim.d-ibus-121.
+
+-------------------------------------------------------------------
+Mon Mar 17 15:37:25 UTC 2014 - [email protected]
+
+- Update to 1.5.6
+  * Support python3 (not enabled for this package)
+  * Fix Property Panel is sometimes not shown when the focus is changed
+  * Let Property Panel not to follow cursor if it is always shown
+  * Fix a build error of Gdk.EventKey with vala 0.23.2
+  * Use XKB layout strings instead of the ibus-keyboard icon on the panel
+- Update reload-preload-engines-until-users-customize-the-list.patch
+- Update ibus-python-install-dir.patch
+  * modify Python 2 path in configure.ac instead of Makefile.am
+- Refresh add-libgnomekbd-and-load-preload-engines.patch 
+
+-------------------------------------------------------------------
+Mon Mar 17 12:29:40 UTC 2014 - [email protected]
+
+- Clean-up dependencies: add librsvg2 (needed by ibus), dropped
+  notification-daemon, python-gtk, python-notify (not needed with
+  switch to pygobject), typelib-1_0-Gtk-2_0, typelib-1_0-Gtk-3_0
+  (no need to hardcode, bnc#868657)
+
+-------------------------------------------------------------------
+Fri Feb 14 12:10:13 CET 2014 - [email protected]
+
+- Fix *-32bit post and postun calls for gtk-query-immodules-2 on
+  openSUSE 13.1 and later (bnc#845860)
+
+-------------------------------------------------------------------
+Mon Feb 10 09:48:56 UTC 2014 - [email protected]
+
+- Do not requires gobject-introspection, it is not needed to run
+  ibus, python-gobject is enough.
+
+-------------------------------------------------------------------
+Mon Jan 27 16:49:27 UTC 2014 - [email protected]
+
++++ 397 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.2:Update/.ibus.3686.new/ibus.changes

New:
----
  README.SUSE
  baselibs.conf
  ibus-1.5.8.tar.gz
  ibus-force-python3.patch
  ibus-python-install-dir.patch
  ibus-python3-migration.patch
  ibus-vala-0.18.patch
  ibus-xim-fix-re-focus-after-lock.patch
  ibus.changes
  ibus.spec
  im-engines-precede-xkb.patch
  kde-12.2.tar.gz
  kde.tar.gz
  macros.ibus
  show-input-mode-icon.patch
  xim.d-ibus-121
  xim.ibus.suse.template

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ibus.spec ++++++
#
# spec file for package ibus
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define gtk_binary_version %(pkg-config  --variable=gtk_binary_version gtk+-2.0)
%if 0%{?suse_version} == 1315
%define with_python3 0
%else
# temporary disable, 'coz ibus is not python3 ready
%define with_python3 0
%endif
%if 0%{?suse_version} > 1315
%define with_wayland 1
%else
%define with_wayland 0
%endif

Name:           ibus
Version:        1.5.8
Release:        0
Summary:        Intelligent Input Bus for Linux OS
License:        LGPL-2.1+
Group:          System/I18n/Chinese
Url:            https://github.com/ibus/
#Source:         
https://github.com/ibus/ibus/releases/download/%{version}/%{name}-%{version}.tar.gz
Source:         %{name}-%{version}.tar.gz
Source2:        README.SUSE
Source3:        xim.ibus.suse.template
Source4:        xim.d-ibus-121
Source5:        kde.tar.gz
Source6:        kde-12.2.tar.gz
Source7:        macros.ibus
Source99:       baselibs.conf
# PATCH-FIX-OPENSUSE ibus-python-install-dir.patch [email protected]
Patch0:         ibus-python-install-dir.patch
# PATCH-FIX-OPENSUSE 
reload-preload-engines-until-users-customize-the-list.patch [email protected]
Patch3:         show-input-mode-icon.patch
# PATFH-FIX-SUSE ibus-xim-fix-re-focus-after-lock.patch bnc#874869 [email protected] 
-- Fix lost XIM input after screenlock
Patch4:         ibus-xim-fix-re-focus-after-lock.patch
# PATCH-FIX-UPSTREAM [email protected]
# Ibus will use python3 only when variable PYTHON2 is empty.
# Thus ibus-setup and bindings are still bytecompiled with python2.
# Then python3 support is useless, so we force python3 when python3
# is enabled, and fix syntax errors in python-config.py
Patch5:         ibus-force-python3.patch
# PATCH-FIX-UPSTREAM [email protected]
# lower vala version
Patch6:         ibus-vala-0.18.patch
# PATCH-FIX-UPSTREAM [email protected]
Patch7:         ibus-python3-migration.patch
# PATCH-FIX-UPSTREAM [email protected]
# Select an IM engine at the first login
Patch8:         im-engines-precede-xkb.patch
BuildRequires:  dbus-1-glib-devel
BuildRequires:  dbus-1-python-devel >= 0.83.0
BuildRequires:  dconf-devel >= 0.7.5
BuildRequires:  fdupes
BuildRequires:  gconf2-devel
BuildRequires:  gettext-devel
BuildRequires:  glib2-devel >= 2.26.0
BuildRequires:  gobject-introspection-devel >= 0.9.6
BuildRequires:  gtk-doc >= 1.9
BuildRequires:  gtk2-devel
BuildRequires:  intltool
BuildRequires:  iso-codes-devel
BuildRequires:  libnotify-devel >= 0.7
BuildRequires:  libtool
# directory ownership {
BuildRequires:  oxygen-icon-theme
BuildRequires:  oxygen-icon-theme-scalable
BuildRequires:  x11-tools
# }
BuildRequires:  pkg-config
%if %{with_python3}
BuildRequires:  python3
BuildRequires:  python3-gobject2-devel
Requires:       python3-gobject2
%else
BuildRequires:  python
BuildRequires:  python-gobject-devel
Requires:       python-gobject
%endif
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(vapigen)
%if %{with_wayland}
BuildRequires:  pkgconfig(wayland-client) >= 1.2.0
%endif
BuildRequires:  pkgconfig(xkbcommon)
Requires:       dbus-1-python
Requires:       dconf
Requires:       iso-codes
Requires:       libibus-1_0-5 = %{version}
# ibus-setup will require typelib(Gdk) typelib(GdkX11), typelib(Gtk)
# which are provided by two packages in openSUSE, so we limit their
# versions to 3.0 only.
Requires:       typelib-1_0-Gtk-3_0
Recommends:     %{name}-lang

#Fix cursor following problem in KDE4 for libreoffice.
%if 0%{?suse_version} != 1315
Supplements:    packageand(libreoffice:libreoffice-gnome)
%endif

Provides:       locale(ja;ko;zh)
Obsoletes:      ibus-gnome-shell
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
IBus means Intelligent Input Bus. It is a new input framework for Linux OS. It 
provides
full featured and user friendly input method user interface. It also may help
developers to develop input method easily.

%package -n libibus-1_0-5
Summary:        IBus libraries
Group:          System/I18n/Chinese
Obsoletes:      libibus-1_0-0

%description -n libibus-1_0-5
This package contains the libraries for IBus

%package -n typelib-1_0-IBus-1_0
Summary:        IBus libraries -- Introspection bindings
Group:          System/I18n/Chinese

%description -n typelib-1_0-IBus-1_0
This package contains the introspection bindings for the IBus library.

%package gtk
Summary:        IBus im module for gtk2
Group:          System/I18n/Chinese
Requires:       %{name} = %{version}
Supplements:    packageand(ibus:gtk2)
%{gtk2_immodule_requires}

%description gtk
This package contains ibus im module for gtk2

%package gtk3
Summary:        IBus im module for gtk3
Group:          System/I18n/Chinese
BuildRequires:  gtk3-devel
Requires:       %{name} = %{version}
Supplements:    packageand(ibus:gtk3)
%{gtk3_immodule_requires}

%description gtk3
This package contains ibus im module for gtk3

%if %{with_python3}
%package -n python3-ibus
Summary:        Python3 module for ibus
Group:          System/I18n/Chinese
Requires:       %{name} = %{version}
Requires:       python3
Obsoletes:      python-ibus

%description -n python3-ibus
This package contains python3 module for ibus

%else
%package -n python-ibus
Summary:        Python module for ibus
Group:          System/I18n/Chinese
Requires:       %{name} = %{version}
%py_requires

%description -n python-ibus
This package contains python module for ibus

%endif

%package branding-openSUSE-KDE
Summary:        openSUSE branding for KDE
Group:          System/GUI/KDE
Requires:       ibus = %{version}
Supplements:    packageand(ibus:branding-openSUSE-KDE)
Supplements:    packageand(ibus:kdelibs4)
Provides:       ibus-branding = %{version}
Conflicts:      otherproviders(ibus-branding)
%if 0%{?suse_version} >= 1140
BuildArch:      noarch
%endif

%description branding-openSUSE-KDE
openSUSE branding for KDE monochrome icons in systray.

%package devel
Summary:        Development tools for ibus
Group:          Development/Libraries/Other
Requires:       dbus-1-devel
Requires:       glib2-devel
Requires:       gtk-doc
Requires:       ibus = %{version}
Requires:       libibus-1_0-5 = %{version}
Requires:       typelib-1_0-IBus-1_0 = %{version}

%description devel
The ibus-devel package contains the header files and developer
docs for ibus.

%lang_package

%prep
%setup -q
%patch0 -p1

# hack to fix incompatibility of gtk-query-immodules-2.0 (bnc#845860)
%if 0%{?suse_version} < 1310
%patch6 -p1
sed -i \
    -e's@\(gtk-query-immodules-2.0-64\) --update-cache@\1 > 
<prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules@g' \
    -e's@\(gtk-query-immodules-2.0\) --update-cache@\1 > 
<prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules@g' \
    %{SOURCE99}
%endif

%patch3 -p1
%patch4 -p1

%if %{with_python3}
%patch5 -p1
%patch7 -p1
%endif

%patch8 -p1

cp -r %{SOURCE2} .
cp -r %{SOURCE3} .

%build
autoreconf -fi
intltoolize -f
%configure --disable-static \
           --enable-gtk3 \
           --enable-vala \
%if %{with_python3}
           --with-python=python3 \
%endif
           --enable-python-library \
           --enable-introspection \
           --disable-gconf \
           --enable-dconf \
           --enable-gtk-doc \
%if %{with_wayland}
           --enable-wayland \
%endif
           --enable-surrounding-text \
           --libexecdir=%{_libdir}/ibus

make %{?_smp_mflags}

%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}

# autostart
mkdir -p %{buildroot}%{_sysconfdir}/X11/xim.d/
install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/X11/xim.d/ibus

sed -i 1i"SYS_LIB=%{_lib}" %{buildroot}%{_sysconfdir}/X11/xim.d/ibus

PRIORITY=40
pushd %{buildroot}%{_sysconfdir}/X11/xim.d/
    for lang in am ar as bn el fa gu he hi hr ja ka kk kn ko lo ml my \
                pa ru sk vi zh_TW zh_CN zh_HK zh_SG \
                de fr it es nl cs pl da nn nb fi en sv
    do
        mkdir $lang
        pushd $lang
            ln -s ../ibus $PRIORITY-ibus
        popd
    done
popd

# remove static libs
find %{buildroot}/%{_libdir} -name "*.la" -type f -delete -print

mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -sf %{_datadir}/icons/hicolor/48x48/apps/ibus-keyboard.png \
  %{buildroot}%{_datadir}/pixmaps/ibus-keyboard.png

# touch for %%ghost
touch %{buildroot}/%{_sysconfdir}/dconf/db/ibus

# fix kde monochrome icons
%if 0%{?suse_version} >= 1230
cp -r %{SOURCE5} ./
%else
cp -r %{SOURCE6} ./
mv kde-12.2.tar.gz kde.tar.gz
%endif
tar -xzf kde.tar.gz
pushd kde
for i in 16 22 24 32 48 ; do
        mkdir -p %{buildroot}%{_datadir}/icons/oxygen/${i}x${i}/apps/
        cp -r ibus-keyboard.${i}x${i}.png 
%{buildroot}%{_datadir}/icons/oxygen/${i}x${i}/apps/ibus-keyboard.png
done
mkdir -p %{buildroot}%{_datadir}/icons/oxygen/scalable/apps/
cp -r ibus-keyboard.svgz %{buildroot}%{_datadir}/icons/oxygen/scalable/apps/
popd

# install macros
mkdir -p %{buildroot}%{_sysconfdir}/rpm
install -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/rpm

%suse_update_desktop_file -r %{name}-setup Settings DesktopSettings 
X-SuSE-Core-System

%fdupes %{buildroot}

%find_lang ibus10 %{?no_lang_C}

%post
%{glib2_gsettings_schema_post}

%posttrans
dconf update

%postun
%{glib2_gsettings_schema_postun}
dconf update

%post gtk
%{gtk2_immodule_post}

%postun gtk
%{gtk2_immodule_postun}

%post -n libibus-1_0-5 -p /sbin/ldconfig

%postun -n libibus-1_0-5 -p /sbin/ldconfig

%post gtk3
%{gtk3_immodule_post}

%postun gtk3
%{gtk3_immodule_postun}

%files
%defattr(-,root,root)
%doc AUTHORS COPYING README README.SUSE xim.ibus.suse.template
%config %{_sysconfdir}/rpm/macros.ibus
%config %{_sysconfdir}/X11/xim.d/*
%{_bindir}/ibus
%{_bindir}/ibus-daemon
%{_bindir}/ibus-setup
%{_datadir}/ibus/
%{_datadir}/applications/ibus-setup.desktop
%{_datadir}/GConf/gsettings/ibus.convert
%{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml
%{_datadir}/icons/hicolor/*/apps/ibus*.*
%{_datadir}/pixmaps/ibus-keyboard.png
%{_libdir}/ibus
%{_datadir}/bash-completion/completions/ibus.bash
# This file is generated by dconf update
%ghost %{_sysconfdir}/dconf/db/ibus
%dir %{_sysconfdir}/dconf/db/ibus.d
# This file is not a config file. Users may not modify it.
%{_sysconfdir}/dconf/db/ibus.d/00-upstream-settings
%{_sysconfdir}/dconf/profile/ibus
%{_mandir}/man1/ibus.1.gz
%{_mandir}/man1/ibus-daemon.1.gz
%{_mandir}/man1/ibus-setup.1.gz

%files lang -f ibus10.lang
%defattr(-,root,root)

%files -n libibus-1_0-5
%defattr(-,root,root)
%{_libdir}/libibus-1.0.so.*

%files -n typelib-1_0-IBus-1_0
%defattr(-,root,root)
%{_libdir}/girepository-1.0/IBus-1.0.typelib

%files gtk
%defattr(-,root,root)
%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ibus.so

%files gtk3
%defattr(-,root,root)
%{_libdir}/gtk-3.0/3.0.0/immodules/im-ibus.so

%if %{with_python3}
%files -n python3-ibus
%defattr(-,root,root)
%{python3_sitearch}/ibus

%else

%files -n python-ibus
%defattr(-,root,root)
%{python_sitearch}/ibus
%{python_sitearch}/gi/overrides/*

%endif

%files devel
%defattr(-,root,root)
%{_libdir}/libibus-1.0.so
%{_includedir}/ibus-1.0
%{_datadir}/gtk-doc/html/ibus
%{_libdir}/pkgconfig/ibus-1.0.pc
%{_datadir}/gir-1.0/IBus-1.0.gir
%{_datadir}/vala/vapi/ibus-1.0.deps
%{_datadir}/vala/vapi/ibus-1.0.vapi

%files branding-openSUSE-KDE
%defattr(-,root,root)
%dir %{_datadir}/icons/oxygen/24x24
%dir %{_datadir}/icons/oxygen/24x24/apps
%{_datadir}/icons/oxygen/*/apps/ibus-keyboard.*

%changelog
++++++ README.SUSE ++++++
ibus README for SuSE
How to start using ibus

English:

0:Note: ibus don't support QT3 immodule,
If you use qt3-base applications, modify your /etc/X11/xim.d/ibus to
export QT_IM_MODULE=xim

1.openSUSE can start ibus automatically when your locale is set to en, zh_TW, 
zh_CN, zh_HK, zh_SG, ko_KR and ja_JP.
The setup script is a link in /etc/X11/xim.d/YOUR-LOCALE/40-ibus which link to 
/etc/X11/xim.d/ibus. 
The number "40" makes ibus have priority over other input-method (e.g 50-scim 
or 90-xcin ).
If you prefer not using ibus, mv 40-ibus to 80-ibus (for example). Or see 2.

2.If for some reason can't start ibus when login Xwindow
There is another input-method who has higher priority then ibus (e.g 10-oxim)
You can edit ~/.xim, see ~/.xim.template for more informations.
Or edit ~/.profile, add
export INPUT_METHOD="ibus"
After installing ibus, there's a template for ibus: 
/usr/share/doc/packages/ibus/xim.ibus.suse.template
copy this file to ~/.xim, then you can use ibus next login X.

3.You want to use your own input-method other than system setting
(1)System setting:
Edit /etc/sysconfig/language , set INPUT_METHOD="scim-bridge", or whatever you 
want,Make sure your start-up script is put in /etc/X11/xim.d/ with same name 
ypu mention.
(2)For specific language setting:
Link a start-up script in /etc/X11/xim.d/ to your locale with a higher priority 
(smaller number), eg
ln -s /etc/X11/xim.d/scim-bridge /etc/X11/xim.d/zh_TW/20-scim-bridge
(3)Personal setting:
Edit ~/.profile add
export INPUT_METHOD="scim-bridge" or whatever script in /etc/X11/xim.d/
or white your own ~/.xim, see ~/.xim.template for more informations.

4.Bug report or any suggestion to
http://code.google.com/p/ibus/


Chinese:

0:注意:ibus 不支援 QT3 immodule,
若您使用 qt3-based 應用程式,請修改 /etc/X11/xim.d/ibus 設定
export QT_IM_MODULE=xim

1.當您使用的語系是en 或zh_*時,SuSE 會自動啟動ibus
啟動的script是/etc/X11/xim.d/YOUR-LOCALE/40-ibus,這是一個到上層目錄ibus的連結
"40"這個數字使他的優先順序高於90-xcin及50-scim
如果您不喜歡這個順序,修改連結的名稱為(例如:80-ibus),或參考2.

2.重新登入X後,如果不能用ibus...可能是:
有別的輸入法的優先順序高於ibus(例如:10-oxim)
您可以編輯~/.xim,請參考~/.xim.template
安裝ibus後,會有一個範本:/usr/share/doc/packages/ibus/xim.ibus.suse.template
將這個檔案複製到您的~/.xim,當您下次登入X時就可以使用ibus了
或編輯~/.profile,加入
export INPUT_METHOD="ibus"

3.如果您想要自己選擇輸入法而非使用系統設定
(1)全系統設定:
編輯 /etc/sysconfig/language, 設定 INPUT_METHOD="ibus" 或其他你想用的輸入法,
請注意你的啟動程序必須位於 /etc/X11/xim.d/,並和您指定的名稱相同
(2)針對特定語言:
將您的啟動程序連結到你的語系中,並前置較高的優先順序(較小數字),例如
ln -s /etc/X11/xim.d/ibus /etc/X11/xim.d/zh_TW/20-ibus
(3)個人設定:
編輯 ~/.profile 加入
export INPUT_METHOD="ibus" 或其他在 /etc/X11/xim.d/ 的啟動程序
或自行編寫啟動程序 ~/.xim,請參考 ~/.xim.template

5.臭蟲回報或建議請至
http://code.google.com/p/ibus/


++++++ baselibs.conf ++++++
ibus-gtk
  post "%if "%_lib" == "lib64""
  post "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 --update-cache"
  post "%else"
  post "<prefix>%{_bindir}/gtk-query-immodules-2.0 --update-cache"
  post "%endif"
  postun "%if "%_lib" == "lib64""
  postun "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 --update-cache"
  postun "%else"
  postun "<prefix>%{_bindir}/gtk-query-immodules-2.0 --update-cache"
  postun "%endif"
  supplements "packageand(ibus:gtk2-<targettype>)"
ibus-gtk3
  post "%if "%_lib" == "lib64""
  post "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache"
  post "%else"
  post "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache"
  post "%endif"
  postun "%if "%_lib" == "lib64""
  postun "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache"
  postun "%else"
  postun "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache"
  postun "%endif"
  supplements "packageand(ibus:gtk3-<targettype>)"
libibus-1_0-5
  obsoletes "libibus2-<targettype> < <version>"

++++++ ibus-force-python3.patch ++++++
Index: ibus-1.5.8/configure.ac
===================================================================
--- ibus-1.5.8.orig/configure.ac
+++ ibus-1.5.8/configure.ac
@@ -379,9 +379,9 @@ AC_ARG_WITH(python,
 AM_PATH_PYTHON([2.5])
 AC_PATH_PROG(PYTHON2, python2)
 
-if test x"$PYTHON2" = x""; then
+#if test x"$PYTHON2" = x""; then
     PYTHON2=$PYTHON
-fi
+#fi
 
 PYGOBJECT_REQUIRED=3.0.0
 
Index: ibus-1.5.8/python-config.py
===================================================================
--- ibus-1.5.8.orig/python-config.py
+++ ibus-1.5.8/python-config.py
@@ -1,5 +1,3 @@
-#!/usr/bin/python2.5
-
 import sys
 import os
 import getopt
@@ -30,10 +28,10 @@ if opt == '--help':
     exit_with_usage(0)
 
 elif opt == '--prefix':
-    print sysconfig.PREFIX
+    print(sysconfig.PREFIX)
 
 elif opt == '--exec-prefix':
-    print sysconfig.EXEC_PREFIX
+    print(sysconfig.EXEC_PREFIX)
 
 elif opt in ('--includes', '--cflags'):
     flags = ['-I' + sysconfig.get_python_inc(),
++++++ ibus-python-install-dir.patch ++++++
diff --git a/configure.ac b/configure.ac
index 9a502ec..42aaadf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -420,7 +420,7 @@ if test x"$enable_python_library" = x"yes"; then
 
     PYTHON2_PREFIX=`$PYTHON2 -c "import sys; sys.stdout.write(sys.prefix)"`
     PYTHON2_VERSION=`$PYTHON2 -c "import sys; 
sys.stdout.write(sys.version[[:3]])"`
-    PYTHON2_LIBDIR="$PYTHON2_PREFIX/lib/python$PYTHON2_VERSION"
+    PYTHON2_LIBDIR="$libdir/python$PYTHON2_VERSION"
     python2dir="$PYTHON2_LIBDIR/site-packages"
     pkgpython2dir="$python2dir/ibus"
     AC_SUBST(pkgpython2dir)
++++++ ibus-python3-migration.patch ++++++
diff -urN ibus-1.5.8/ibus/attribute.py ibus-1.5.8.py3/ibus/attribute.py
--- ibus-1.5.8/ibus/attribute.py        2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/attribute.py    2014-08-31 01:37:40.226988785 +0800
@@ -38,8 +38,8 @@
     )
 
 import dbus
-from exception import IBusException
-from serializable import *
+from ibus.exception import IBusException
+from ibus.serializable import *
 
 ATTR_TYPE_UNDERLINE = 1
 ATTR_TYPE_FOREGROUND = 2
diff -urN ibus-1.5.8/ibus/bus.py ibus-1.5.8.py3/ibus/bus.py
--- ibus-1.5.8/ibus/bus.py      2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/bus.py  2014-08-31 01:37:40.231988723 +0800
@@ -29,10 +29,10 @@
 import dbus.connection
 import dbus.mainloop.glib
 import gobject
-import common
-import object
-import serializable
-import config
+from ibus import common
+from ibus import object
+from ibus import serializable
+from ibus import config
 
 dbus.mainloop.glib.DBusGMainLoop(set_as_default = True)
 
@@ -74,9 +74,9 @@
 
     def __filter_cb(self, conn, message):
         if message.get_type() == 4:
-            print "Signal %s" % message.get_member()
-            print " sender = %s" % message.get_sender()
-            print " path = %s" % message.get_path()
+            print("Signal %s" % message.get_member())
+            print(" sender = %s" % message.get_sender())
+            print(" path = %s" % message.get_path())
         return dbus.lowlevel.HANDLER_RESULT_NOT_YET_HANDLED
 
     def __dbusconn_disconnected_cb(self, dbusconn):
@@ -188,19 +188,19 @@
     mainloop = glib.MainLoop()
 
     def __disconnected_cb(*args):
-        print "Disconnected", args
+        print("Disconnected", args)
         mainloop.quit()
 
     b = Bus()
     b.connect("disconnected", __disconnected_cb)
 
-    print "unique_name =", b.get_name()
+    print("unique_name =", b.get_name())
 
     for i in b.list_factories():
-        print i.name
+        print(i.name)
 
     mainloop.run()
-    print "Exit"
+    print("Exit")
 
 
 if __name__ == "__main__":
diff -urN ibus-1.5.8/ibus/common.py ibus-1.5.8.py3/ibus/common.py
--- ibus-1.5.8/ibus/common.py   2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/common.py       2014-08-31 01:37:40.231988723 +0800
@@ -59,7 +59,7 @@
 import sys
 #from xdg import BaseDirectory
 import ctypes
-import _config
+from ibus import _config
 
 # __display = os.environ["DISPLAY"]
 # __hostname, __display_screen = __display.split(":", 1)
diff -urN ibus-1.5.8/ibus/component.py ibus-1.5.8.py3/ibus/component.py
--- ibus-1.5.8/ibus/component.py        2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/component.py    2014-08-31 01:37:40.228988760 +0800
@@ -25,10 +25,10 @@
     )
 
 import dbus
-from exception import IBusException
-from serializable import *
-from enginedesc import *
-from observedpath import *
+from ibus.exception import IBusException
+from ibus.serializable import *
+from ibus.enginedesc import *
+from ibus.observedpath import *
 
 class Component(Serializable):
     __gtype_name__ = "PYIBusComponent"
diff -urN ibus-1.5.8/ibus/config.py ibus-1.5.8.py3/ibus/config.py
--- ibus-1.5.8/ibus/config.py   2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/config.py       2014-08-31 01:37:40.228988760 +0800
@@ -30,8 +30,8 @@
 IBUS_PATH_CONFIG = "/org/freedesktop/IBus/Config"
 
 import gobject
-import object
-import interface
+from ibus import object
+from ibus import interface
 import dbus
 from dbus.proxies import ProxyObject
 
diff -urN ibus-1.5.8/ibus/_config.py.in ibus-1.5.8.py3/ibus/_config.py.in
--- ibus-1.5.8/ibus/_config.py.in       2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/_config.py.in   2014-08-31 01:37:40.231988723 +0800
@@ -32,10 +32,10 @@
 
 import gettext
 
-_ = lambda a: gettext.dgettext("@GETTEXT_PACKAGE@", a)
+_ = lambda a: gettext.dgettext("ibus10", a)
 
 def get_version():
-       return '@PACKAGE_VERSION@'
+       return '1.5.8'
 
 def get_copyright():
     return _('''Copyright (c) 2007-2010 Peng Huang
@@ -46,7 +46,7 @@
 
 def get_ICON_KEYBOARD():
     import gtk
-    icon = '@IBUS_ICON_KEYBOARD@'
+    icon = 'ibus-keyboard'
     fallback_icon = 'ibus-keyboard'
     settings = gtk.settings_get_default()
     if settings.get_property('gtk-icon-theme-name') != 'gnome':
@@ -56,5 +56,5 @@
         return fallback_icon
     return icon
 
-LIBIBUS_SONAME='libibus-@[email protected].@LT_CURRENT_MINUS_AGE@'
-ISOCODES_PREFIX='@ISOCODES_PREFIX@'
+LIBIBUS_SONAME='libibus-1.0.so.5'
+ISOCODES_PREFIX='/usr'
diff -urN ibus-1.5.8/ibus/enginedesc.py ibus-1.5.8.py3/ibus/enginedesc.py
--- ibus-1.5.8/ibus/enginedesc.py       2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/enginedesc.py   2014-08-31 01:37:40.231988723 +0800
@@ -25,8 +25,8 @@
     )
 
 import dbus
-from exception import IBusException
-from serializable import *
+from ibus.exception import IBusException
+from ibus.serializable import *
 
 class EngineDesc(Serializable):
     __gtype_name__ = "PYIBusEngineDesc"
diff -urN ibus-1.5.8/ibus/engine.py ibus-1.5.8.py3/ibus/engine.py
--- ibus-1.5.8/ibus/engine.py   2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/engine.py       2014-08-31 01:37:40.231988723 +0800
@@ -24,11 +24,11 @@
         "EngineBase",
     )
 
-import common
-import object
-import serializable
-import interface
-from text import Text
+from ibus import common
+from ibus import object
+from ibus import serializable
+from ibus import interface
+from ibus.text import Text
 
 class EngineBase(object.Object):
     def __init__(self, bus, object_path):
diff -urN ibus-1.5.8/ibus/factory.py ibus-1.5.8.py3/ibus/factory.py
--- ibus-1.5.8/ibus/factory.py  2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/factory.py      2014-08-31 01:37:40.228988760 +0800
@@ -25,10 +25,10 @@
         "FactoryInfo"
     )
 import dbus
-import object
-import interface
-from serializable import *
-from exception import *
+from ibus import object
+from ibus import interface
+from ibus.serializable import *
+from ibus.exception import *
 
 class EngineFactoryBase(object.Object):
     def __init__(self, bus):
diff -urN ibus-1.5.8/ibus/__init__.py ibus-1.5.8.py3/ibus/__init__.py
--- ibus-1.5.8/ibus/__init__.py 2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/__init__.py     2014-08-31 01:37:40.228988760 +0800
@@ -24,25 +24,25 @@
 warnings.warn("The ibus module is deprecated; "
     "Please use gobject-introspection instead", DeprecationWarning)
 
-from object import *
-from attribute import *
-from property import *
-from common import *
-from interface import *
-from exception import *
-from lookuptable import *
-from bus import *
-from inputcontext import *
-from lang import *
-from utility import *
-from engine import *
-from factory import *
-from panel import *
-from notifications import *
-from config import *
-from serializable import *
-from text import *
-from observedpath import *
-from enginedesc import *
-from component import *
-from _config import *
+from ibus.object import *
+from ibus.attribute import *
+from ibus.property import *
+from ibus.common import *
+from ibus.interface import *
+from ibus.exception import *
+from ibus.lookuptable import *
+from ibus.bus import *
+from ibus.inputcontext import *
+from ibus.lang import *
+from ibus.utility import *
+from ibus.engine import *
+from ibus.factory import *
+from ibus.panel import *
+from ibus.notifications import *
+from ibus.config import *
+from ibus.serializable import *
+from ibus.text import *
+from ibus.observedpath import *
+from ibus.enginedesc import *
+from ibus.component import *
+from ibus._config import *
diff -urN ibus-1.5.8/ibus/inputcontext.py ibus-1.5.8.py3/ibus/inputcontext.py
--- ibus-1.5.8/ibus/inputcontext.py     2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/inputcontext.py 2014-08-31 01:37:40.228988760 +0800
@@ -28,10 +28,10 @@
 import gobject
 import dbus
 import dbus.lowlevel
-import object
-import common
-import serializable
-from text import Text
+from ibus import object
+from ibus import common
+from ibus import serializable
+from ibus.text import Text
 
 class InputContext(object.Object):
     __gtype_name__ = "PYIBusInputContext"
@@ -286,10 +286,10 @@
             super(TestWindow,self).__init__()
 
             self.__bus = Bus()
-            print self.__bus.get_name()
+            print(self.__bus.get_name())
             self.__bus.connect("disconnected", gtk.main_quit)
             context_path = self.__bus.create_input_context("Test")
-            print context_path
+            print(context_path)
             self.__context = InputContext(self.__bus, context_path)
             self.__context.set_capabilities (9)
 
@@ -310,22 +310,22 @@
             self.show_all()
 
         def __commit_text_cb(self, context, text):
-            print "commit-text:", text.text
+            print("commit-text:", text.text)
 
         def __update_preedit_text_cb(self, context, text, cursor_pos, visible):
-            print "preedit-text:", text.text, cursor_pos, visible
+            print("preedit-text:", text.text, cursor_pos, visible)
 
         def __show_preedit_text_cb(self, context):
-            print "show-preedit-text"
+            print("show-preedit-text")
 
         def __hide_preedit_text_cb(self, context):
-            print "hide-preedit-text"
+            print("hide-preedit-text")
 
         def __update_auxiliary_text_cb(self, context, text, visible):
-            print "auxiliary-text:", text.text, visible
+            print("auxiliary-text:", text.text, visible)
 
         def __update_lookup_table_cb(self, context, table, visible):
-            print "update-lookup-table:", visible
+            print("update-lookup-table:", visible)
 
         def __key_press_event_cb(self, widget, event):
             self.__context.process_key_event(event.keyval, event.state)
diff -urN ibus-1.5.8/ibus/interface/__init__.py 
ibus-1.5.8.py3/ibus/interface/__init__.py
--- ibus-1.5.8/ibus/interface/__init__.py       2014-07-24 12:24:25.000000000 
+0800
+++ ibus-1.5.8.py3/ibus/interface/__init__.py   2014-08-31 01:37:40.226988785 
+0800
@@ -20,10 +20,10 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
 # USA
 
-from iibus import *
-from iinputcontext import *
-from iengine import *
-from ienginefactory import *
-from ipanel import *
-from iconfig import *
-from inotifications import *
+from ibus.interface.iibus import *
+from ibus.interface.iinputcontext import *
+from ibus.interface.iengine import *
+from ibus.interface.ienginefactory import *
+from ibus.interface.ipanel import *
+from ibus.interface.iconfig import *
+from ibus.interface.inotifications import *
diff -urN ibus-1.5.8/ibus/lang.py ibus-1.5.8.py3/ibus/lang.py
--- ibus-1.5.8/ibus/lang.py     2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/lang.py 2014-08-31 01:37:40.228988760 +0800
@@ -61,18 +61,18 @@
 
 def __load_lang():
     import os
-    import _config
+    from ibus import _config
     iso_639_xml = os.path.join(_config.ISOCODES_PREFIX, 
"share/xml/iso-codes/iso_639.xml")
     p = xml.parsers.expat.ParserCreate()
     p.StartElementHandler = __start_element
     p.EndElementHandler = __end_element
     p.CharacterDataHandler = __char_data
-    p.ParseFile(file(iso_639_xml))
+    p.ParseFile(open(iso_639_xml,"rb"))
 
 __load_lang()
 
 if __name__ == "__main__":
-    print get_language_name("mai")
-    print get_language_name("zh")
-    print get_language_name("ja")
-    print get_language_name("ko")
+    print(get_language_name("mai"))
+    print(get_language_name("zh"))
+    print(get_language_name("ja"))
+    print(get_language_name("ko"))
diff -urN ibus-1.5.8/ibus/lookuptable.py ibus-1.5.8.py3/ibus/lookuptable.py
--- ibus-1.5.8/ibus/lookuptable.py      2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/lookuptable.py  2014-08-31 01:37:40.231988723 +0800
@@ -25,9 +25,9 @@
     )
 
 import dbus
-from common import *
-from serializable import *
-from exception import *
+from ibus.common import *
+from ibus.serializable import *
+from ibus.exception import *
 
 class LookupTable(Serializable):
     __gtype_name__ = "PYIBusLookupTable"
diff -urN ibus-1.5.8/ibus/observedpath.py ibus-1.5.8.py3/ibus/observedpath.py
--- ibus-1.5.8/ibus/observedpath.py     2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/observedpath.py 2014-08-31 01:37:40.228988760 +0800
@@ -25,8 +25,8 @@
     )
 
 import dbus
-from exception import IBusException
-from serializable import *
+from ibus.exception import IBusException
+from ibus.serializable import *
 
 class ObservedPath(Serializable):
     __gtype_name__ = "PYIBusObservedPath"
diff -urN ibus-1.5.8/ibus/panel.py ibus-1.5.8.py3/ibus/panel.py
--- ibus-1.5.8/ibus/panel.py    2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/panel.py        2014-08-31 01:37:40.232988710 +0800
@@ -33,9 +33,9 @@
 IBUS_SERVICE_PANEL = "org.freedesktop.IBus.Panel"
 IBUS_PATH_PANEL = "/org/freedesktop/IBus/Panel"
 
-from serializable import *
-from object import Object
-import interface
+from ibus.serializable import *
+from ibus.object import Object
+from ibus import interface
 import dbus
 
 class PanelItem:
@@ -268,19 +268,19 @@
             self.__bus.request_name(IBUS_SERVICE_PANEL, 0)
 
         def focus_in(self, ic):
-            print "focus-in:", ic
+            print("focus-in:", ic)
             context = InputContext(self.__bus, ic)
             info = context.get_factory_info()
-            print "factory:", info.name
+            print("factory:", info.name)
 
         def focus_out(self, ic):
-            print "focus-out:", ic
+            print("focus-out:", ic)
 
         def update_auxiliary_text(self, text, visible):
-            print "update-auxiliary-text:", text.text
+            print("update-auxiliary-text:", text.text)
 
         def update_lookup_table(self, table, visible):
-            print "update-lookup-table", table
+            print("update-lookup-table", table)
 
     panel = TestPanel()
     gtk.main()
diff -urN ibus-1.5.8/ibus/property.py ibus-1.5.8.py3/ibus/property.py
--- ibus-1.5.8/ibus/property.py 2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/property.py     2014-08-31 01:37:40.231988723 +0800
@@ -34,8 +34,8 @@
     )
 
 import dbus
-from text import Text
-from serializable import *
+from ibus.text import Text
+from ibus.serializable import *
 
 PROP_TYPE_NORMAL = 0
 PROP_TYPE_TOGGLE = 1
@@ -239,7 +239,7 @@
     props.append(Property(u"d"))
     value = serialize_object(props)
     props = deserialize_object(value)
-    print props
+    print(props)
 
 if __name__ == "__main__":
     test()
diff -urN ibus-1.5.8/ibus/serializable.py ibus-1.5.8.py3/ibus/serializable.py
--- ibus-1.5.8/ibus/serializable.py     2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/serializable.py 2014-08-31 01:37:40.232988710 +0800
@@ -26,7 +26,7 @@
         "deserialize_object",
     )
 
-from object import Object
+from ibus.object import Object
 import dbus
 import gobject
 
diff -urN ibus-1.5.8/ibus/text.py ibus-1.5.8.py3/ibus/text.py
--- ibus-1.5.8/ibus/text.py     2014-07-24 12:24:25.000000000 +0800
+++ ibus-1.5.8.py3/ibus/text.py 2014-08-31 01:37:40.226988785 +0800
@@ -25,9 +25,9 @@
     )
 
 import dbus
-from exception import IBusException
-from serializable import *
-from attribute import AttrList
+from ibus.exception import IBusException
+from ibus.serializable import *
+from ibus.attribute import AttrList
 
 class Text(Serializable):
     __gtype_name__ = "PYIBusText"
++++++ ibus-vala-0.18.patch ++++++
Index: ibus-1.5.8/configure.ac
===================================================================
--- ibus-1.5.8.orig/configure.ac
+++ ibus-1.5.8/configure.ac
@@ -125,7 +125,7 @@ AC_SUBST(DATE_DISPLAY)
 AC_PROG_CC
 AM_PROG_CC_C_O
 AC_PROG_CC_STDC
-AM_PROG_VALAC([0.20])
+AM_PROG_VALAC([0.18])
 AC_PROG_INSTALL
 AC_PROG_MAKE_SET
 
++++++ ibus-xim-fix-re-focus-after-lock.patch ++++++
---
 client/x11/main.c |    3 +++
 1 file changed, 3 insertions(+)

--- a/client/x11/main.c
+++ b/client/x11/main.c
@@ -421,6 +421,9 @@ xim_set_ic_focus (XIMS xims, IMChangeFoc
                                            GINT_TO_POINTER ((gint) 
call_data->icid));
     g_return_val_if_fail (x11ic != NULL, 0);
 
+    /* make sure that focus has been already out */
+    ibus_input_context_focus_out (x11ic->context);
+
     ibus_input_context_focus_in (x11ic->context);
     _xim_set_cursor_location (x11ic);
 
++++++ im-engines-precede-xkb.patch ++++++
commit 389d179c0b15664e23af2f26c17b3b5f316bc4e5
Author: Fuminobu TAKEYAMA <[email protected]>
Date:   Tue Oct 7 20:23:42 2014 +0900

    make IM engines precede xkb engines so that users can input
    CJK letters without switching IMs at the first login

diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
index 76cea23..1ff56fb 100644
--- a/ui/gtk3/panel.vala
+++ b/ui/gtk3/panel.vala
@@ -411,10 +411,10 @@ class Panel : IBus.PanelService {
                 get_engines_from_locale(engines);
 
         string[] names = {};
-        foreach (unowned IBus.EngineDesc engine in xkb_engines)
-            names += engine.get_name();
         foreach (unowned IBus.EngineDesc engine in im_engines)
             names += engine.get_name();
+        foreach (unowned IBus.EngineDesc engine in xkb_engines)
+            names += engine.get_name();
 
         m_settings_general.set_strv("preload-engines", names);
     }
++++++ macros.ibus ++++++
# RPM macros for ibus
# You should use %%{_ibus_icondir} and %%{_ibus_tabledir} 
# in %%files section
# For ibus table packaging, you have to:
# Use %%ibus_table_requires as requires
# Use %%ibus_table_index_post %%DB_NAME in %%post to create
# table indexes for your table package.
%_ibus_includedir       %{_includedir}/ibus-1.0
%_ibus_libdir           %{_libdir}/ibus
%_ibus_libexecdir       %{_ibus_libdir}
%_ibus_datadir          %{_datadir}/ibus
%_ibus_componentdir     %{_ibus_datadir}/component
%_ibus_enginedir        %{_ibus_datadir}/engine
%_ibus_keymapdir        %{_ibus_datadir}/keymaps
%_ibus_setupdir         %{_ibus_datadir}/setup
%_ibus_autostartdir     %{_sysconfdir}/X11/xim.d
%_ibus_tabledir         %{_datadir}/ibus-table/tables
%_ibus_icondir          %{_datadir}/ibus-table/icons

%ibus_requires  \
Requires:       ibus

%ibus_table_requires \
Requires:       ibus-table
Requires(post): ibus-table

%ibus_table_index_post() \
%if "x%1" != "x%%1" \
DB_NAME="%1" \
%else \
echo "Missing argument DB_NAME in call to %%ibus_table_create_index." \
false \
%endif \
/usr/bin/ibus-table-createdb -i -n %{_ibus_tabledir}/${DB_NAME}.db || true 
++++++ show-input-mode-icon.patch ++++++
--- ibus-1.5.5/ui/gtk3/panel.vala.orig  2014-01-19 01:53:48.144138225 +0900
+++ ibus-1.5.5/ui/gtk3/panel.vala       2014-01-19 02:03:54.627409768 +0900
@@ -863,11 +863,52 @@
     public override void register_properties(IBus.PropList props) {
         m_property_manager.set_properties(props);
         m_property_panel.set_properties(props);
+        int i = 0;
+        while (true) {
+            IBus.Property prop = props.get(i);
+            if (prop == null)
+                break;
+            if (prop.key == "InputMode") {
+                update_input_mode_icon(prop.icon);
+                break;
+            }
+            i++;
+        }
     }
 
     public override void update_property(IBus.Property prop) {
         m_property_manager.update_property(prop);
         m_property_panel.update_property(prop);
+        if (prop.key == "InputMode") {
+            update_input_mode_icon(prop.icon);
+        }
+    }
+
+    // If InputMode has an icon, use it instead of engine's icon.
+    public void update_input_mode_icon(string icon) {
+        var icon_name = icon;
+       if (icon == "") {
+            var engine = m_bus.get_global_engine();
+            icon_name = engine.get_icon();
+        }
+
+        if (icon_name[0] == '/') {
+            try {
+                // resize icon because icons were desinged for ibus tool bar 
of 1.4.x
+                // use 22 px because icons are wrongly cropped on KDE
+                var icon_img = new Gdk.Pixbuf.from_file_at_size(icon_name, 22, 
22);
+                m_status_icon.set_from_pixbuf(icon_img);
+            } catch (Error e) {
+                warning("could not load icon: %s", icon_name);
+            }
+        } else {
+            var theme = Gtk.IconTheme.get_default();
+            if (theme.lookup_icon(icon_name, 48, 0) != null) {
+                m_status_icon.set_from_icon_name(icon_name);
+            } else {
+                m_status_icon.set_from_icon_name("ibus-engine");
+            }
+        }
     }
 
     public override void update_preedit_text(IBus.Text text,
++++++ xim.d-ibus-121 ++++++
if ! type -p ibus-daemon > /dev/null 2>&1 ; then
    echo "ibus is not available."
    return 1
fi

case "$WINDOWMANAGER" in
    #when skim installed, Autostart must be "false".
    #here we move $HOME/.kde/share/config/skimrc to skimrc.orig.ibus
    *kde*)
    ;;
    # GNOME 3 Settings Daemon keyboard plugin manages all ibus settings itself,
    # so don't do manual setup&startup of ibus otherwise it would conflict with
    # G-S-D. see bnc#873016.
    *gnome*)
        SOURCES=$(gsettings get org.freedesktop.ibus.general preload-engines)
        if [ "$SOURCES" == '@as []' ]; then
        echo "initial GNOME startup, ibus default configuration applied"
        ibus-daemon -d
        timer=5
        while [ "$SOURCES" == '@as []' ] && [ ${timer} -gt 0 ]; do
            sleep 1
            timer=$[${timer}-1]
            SOURCES=$(gsettings get org.freedesktop.ibus.general 
preload-engines)
        done
        ibus exit
        fi
        # make sure G-S-D keyboard plugin is active
        echo "ibus will be managed by GNOME."
        gsettings set org.gnome.settings-daemon.plugins.keyboard active true
        return 0
    ;;
    *)
        # do nothing
    ;;
esac

# Force OOo to use gtk-immodule
# Only libreoffice-gnome supports IM module
# To fix cursor following problem (on_the_spot), do not use libreoffice-kde4
if [ -e /usr/lib64/libreoffice/program/libvclplug_gtklo.so ] ||
   [ -e /usr/lib/libreoffice/program/libvclplug_gtklo.so ] ||
   [ -e /usr/lib64/libreoffice/program/libvclplug_gtk3lo.so ] ||
   [ -e /usr/lib/libreoffice/program/libvclplug_gtk3lo.so ]; then
    export OOO_FORCE_DESKTOP=gnome
else
    echo "libreoffice-gnome is not found. For better IBus support, please 
install libreoffice-gnome"
fi

export LC_CTYPE=$LANG
export XMODIFIERS="@im=ibus" 
export GTK_IM_MODULE=ibus
export QT_IM_SWITCHER=imsw-multi
if [ -e /usr/$SYS_LIB/qt4/plugins/inputmethods/libqtim-ibus.so ]; then
    export QT_IM_MODULE=ibus
else
    export QT_IM_MODULE=xim
fi

if [ -z $DBUS_SESSION_BUS_ADDRESS ]; then
    eval `dbus-launch --sh-syntax --exit-with-session --close-stderr < 
/dev/null`
fi

ibus-daemon --xim -d

# success:
return 0
++++++ xim.ibus.suse.template ++++++
#~/.xim template for users to set ibus as default input method
#copy this file to ~/.xim
#logout and login again, that's all
#for more infomations, see ~/.xim.template

#if any program can't input Chinese, try export #LC_CTYPE=zh_TW.UTF-8, e.g

export LC_CTYPE=$LANG
export XMODIFIERS="@im=ibus"
export GTK_IM_MODULE=ibus
export QT_IM_SWITCHER=imsw-multi
os_type=`uname -i`
if [ $os_type = "x86_64" ]; then
    if [ -e /usr/lib64/qt4/plugins/inputmethods/libqtim-ibus.so ]; then
        export QT_IM_MODULE=ibus
    else
        export QT_IM_MODULE=xim
    fi
else
    if [ -e /usr/lib/qt4/plugins/inputmethods/libqtim-ibus.so ]; then
        export QT_IM_MODULE=ibus
    else
        export QT_IM_MODULE=xim
    fi
fi
ibus-daemon --xim &

Reply via email to