Hello community, here is the log from the commit of package ibus.2187 for openSUSE:13.1:Update checked in at 2013-11-14 16:09:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:13.1:Update/ibus.2187 (Old) and /work/SRC/openSUSE:13.1:Update/.ibus.2187.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ibus.2187" Changes: -------- New Changes file: --- /dev/null 2013-10-11 12:16:15.204037506 +0200 +++ /work/SRC/openSUSE:13.1:Update/.ibus.2187.new/ibus.changes 2013-11-14 16:09:19.000000000 +0100 @@ -0,0 +1,371 @@ +------------------------------------------------------------------- +Thu Oct 31 14:46:37 CET 2013 - ti...@suse.de + +- Always-save-the-content-type-cache-for-gnome-shell-p.patch: + This is an additional fix patch for ibus to avoid the wrong + IBus.InputPurpose.PASSWORD advertisement, which leads to the + password text appearance on GNOME3 (bnc#847718) + +------------------------------------------------------------------- +Thu Oct 17 07:13:31 UTC 2013 - i...@marguerite.su + +- add a branding-openSUSE-KDE subpackage. + * provides kde monochrome icons for 13.1 default KDE theme. +- port fix for bnc#820218 here + * ibus qt tray icon is not in keeping with KDE monochrome icon look. + +------------------------------------------------------------------- +Mon Oct 14 09:22:41 CST 2013 - hillw...@linuxfans.org + +- Obsoletes libibus-1_0-0 + +------------------------------------------------------------------- +Thu Oct 10 17:50:08 UTC 2013 - ft...@geeko.jp + +- Update show-input-mode-icon.patch + * fix ibus-ui-gtk3 hangs up + * fix icons are cropped on KDE + +------------------------------------------------------------------- +Sun Oct 6 13:43:39 UTC 2013 - ft...@geeko.jp + +- Update to 1.5.4 + * Add "address" command to command line interface + * Support content-type of input context + * Replace ibus-config with gsettings + * Support using a different IM engine state for each window + * Support show-icon-on-systray in ibus-ui-gtk3 + * Fix no output when ibus-daemon is runnin on another display + * Update translations and fix build errors +- Add show-input-mode-icon.patch + * workaround for the current input mode is not shown on DEs + other than GNOME +- Rename and refresh patches + * add-libgnomekbd-and-load-preload-engines.patch + * reload-preload-engines-until-users-customize-the-list.patch +- Fix ibus-lang is not installed +- Fix warning by "touch /etc/dconf/db/ibus" for 12.3 and later + +------------------------------------------------------------------- +Fri Sep 13 13:49:44 UTC 2013 - ft...@geeko.jp + +- Fix dconf schema was not updated for automatic configuration +- Fix 00-upstream-settings was wrongly marked as %config +- Fix /etc/dconf/db/ibus was not owned by package +- Add %if %endif for automatic configuration + +------------------------------------------------------------------- +Thu Sep 12 17:29:24 UTC 2013 - ft...@geeko.jp + +- Add patches to configure ibus automatically according to the + current environment at the first login + * Add reload-preload-engines-until-users-customize-the-list-95fd937e.patch + * Add add-libgnomekbd-and-load-preload-engines-69171c9c.patch +- Enable the surrounding text feature + +------------------------------------------------------------------- +Tue Jul 30 17:19:47 UTC 2013 - ft...@geeko.jp + +- Update to 1.5.3 + * Add embed_preedit_text + * Disable IM on lock screen + * Change defalut triggers key to <Super>space + * Add man files + * Delete ibus.desktop + * Add Norwegian keyboard + * Update UI, improve performance, fix build problems + +------------------------------------------------------------------- +Tue Jul 9 22:23:47 CST 2013 - hillw...@linuxfans.org + +- Fix cursor following problem in KDE4 for libreoffice + +------------------------------------------------------------------- +Thu Jul 4 15:41:12 UTC 2013 - ft...@geeko.jp + +- Merge branches on M17N:Devel and home:dimstar:branches:GNOME:Factory + * Merge changelog and spec written by dims...@opensuse.org +- Update to 1.5.2 by hillw...@linuxfans.org + * Implement use-system-keyboard-layout + * Fix crash of ibus-setup +- Update to 1.5.1 by hillw...@linuxfans.org + * Add fr(bepo) XKB engine + * Fix crash +- Update to 1.5.0 by dougla...@outlook.com + * Renew IM-switch UI, logic, and shortcut customization + * Integrate XKB keyboard layouts into IME. Now ibus can manage both + IME and XKB layouts seamlessly + * Improve ibus performance by replace some python components with + vala implementations + * Improve gobject-introspection support + * Improve vala language support + * New functions to restrict config signal: ibus_config_watch/unwatch + * Remove gnome-icon-theme-legacy dependency. + * Add version property in IBusEngineDesc. + * Add IBusProperty.symbol for the short label. + * Support dconf 0.13.4 + * Add ibus command line tool + * Improve unit test + * ibus-daemon now monitors .xml files by default + * "make check" does not require "make install" + * Support out-of-tree build + * pygobject override is added to help migrate from the old python binding. + * Many bug fixings. +- Switch to dconf from GConf +- Add python bindings +- Add vala bindings +- Drop obsoleted patches: + * ibus-fix-default-preload-engines.patch + * ibus-fix-docs-build-error.patch + * ibus-fix-tray-icon-on-gnome-3.6.patch + * ibus_indicator-14.patch +- Obsoletes ibus-gnome-shell +- Separate translation files into ibus-lang +- Rename libibus-1_0-0 subpackage to libibus-1_0-5, following + upstreams soname change. +- Clean up spec file + * remove special cases for 11.4 and 12.1 + +------------------------------------------------------------------- +Tue Apr 2 17:49:53 UTC 2013 - ft...@geeko.jp + +- add "Supplements" tag to ibus-gnome-shell + +------------------------------------------------------------------- +Thu Mar 28 18:26:44 UTC 2013 - i...@marguerite.su + +- fix a typo in Group +- fix python-bytecode-inconsistent-mtime + +------------------------------------------------------------------- +Thu Mar 28 15:32:19 UTC 2013 - jeng...@inai.de + +- Put gnome-shell integration files into separate package because + these (since openSUSE 12.3) pull in a lot of new unwanted packages + on a GNOME-less system compared to 12.2. (bnc#812298) +- Set versions on BuildRequires according to configure.ac +- Use more robust make install call +- Remove redundant %clean section + +------------------------------------------------------------------- +Sat Feb 16 15:59:12 UTC 2013 - ft...@geeko.jp + +- better solution for bnc#802967 + * add ibus_indicator-14.patch: a shell extension for GNOME 3.6 + * update ibus-fix-tray-icon-on-gnome-3.6.patch + +------------------------------------------------------------------- +Sat Feb 9 13:13:13 CST 2013 - hillw...@linuxfans.org + +- fix bnc#802967 + * fix ibus's tray icon can't show in gnome-shell 3.6 for openSUSE 12.3, + add ibus-fix-tray-icon-on-gnome-3.6.patch + +------------------------------------------------------------------- +Thu Jan 10 12:50:49 UTC 2013 - ft...@geeko.jp + +- add ibus-fix-docs-build-error.patch: to fix build error + in Factory + +------------------------------------------------------------------- +Wed Oct 17 04:20:14 UTC 2012 - dougla...@outlook.com + +- .spec file optimization + + * remove commented patch lines + * use `make %{?_smp_mflags}` instead of `make %{?jobs:-j%jobs}` + see: http://en.opensuse.org/openSUSE:Specfile_guidelines#Parallel_make + +------------------------------------------------------------------- +Sat Aug 25 20:25:17 CST 2012 - hillw...@linuxfans.org + +- update to 1.4.2 + Some bug fixings + +------------------------------------------------------------------- +Mon Jun 18 10:59:35 CEST 2012 - ti...@suse.de + +- Move the strict dependency on libibus-1_0-0 to ibus main package; + otherwise user may get the inconsistent setups + +------------------------------------------------------------------- +Thu May 17 07:11:11 UTC 2012 - swy...@gmail.com + +- remove soft link in RPM_BUILD_ROOT + +------------------------------------------------------------------- +Thu May 17 06:10:46 UTC 2012 - swy...@gmail.com ++++ 174 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:13.1:Update/.ibus.2187.new/ibus.changes New: ---- Always-save-the-content-type-cache-for-gnome-shell-p.patch add-libgnomekbd-and-load-preload-engines.patch baselibs.conf ibus-1.5.4.tar.gz ibus-README.suse ibus-python-install-dir.patch ibus.changes ibus.spec kde-12.2.tar.gz kde.tar.gz reload-preload-engines-until-users-customize-the-list.patch show-input-mode-icon.patch xim.d-ibus-121 xim.ibus.suse.template ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ibus.spec ++++++ # # spec file for package ibus # # Copyright (c) 2013 SUSE LINUX Products 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 with_automatic_config 1 Name: ibus Version: 1.5.4 Release: 0 Url: http://code.google.com/p/ibus/ Summary: Intelligent Input Bus for Linux OS License: LGPL-2.1+ Group: System/I18n/Chinese Source: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz Source2: ibus-README.suse Source3: xim.ibus.suse.template Source4: xim.d-ibus-121 Source5: kde.tar.gz Source6: kde-12.2.tar.gz %if %{with_automatic_config} Patch0: ibus-python-install-dir.patch # PATCH-FEATURE-UPSTREAM add-libgnomekbd-and-load-preload-engines.patch Issue 1641 ft...@geeko.jp Patch1: add-libgnomekbd-and-load-preload-engines.patch # PATCH-FEATURE-UPSTREAM reload-preload-engines-until-users-customize-the-list.patch Issue 1641 ft...@geeko.jp Patch2: reload-preload-engines-until-users-customize-the-list.patch %endif # PATCH-FIX-OPENSUSE reload-preload-engines-until-users-customize-the-list.patch ft...@geeko.jp Patch3: show-input-mode-icon.patch # PATCH-FIX-UPSTREAM Always-save-the-content-type-cache-for-gnome-shell-p.patch bnc#847718 Patch4: Always-save-the-content-type-cache-for-gnome-shell-p.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: /usr/bin/touch Provides: locale(ja;ko;zh) BuildRequires: dbus-1-glib-devel BuildRequires: dbus-1-python-devel >= 0.83.0 %if %{with_automatic_config} BuildRequires: dbus-1-x11 %endif 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 %if %{with_automatic_config} BuildRequires: libgnomekbd-devel %endif BuildRequires: libnotify-devel >= 0.7 BuildRequires: libtool # directory ownership { BuildRequires: oxygen-icon-theme BuildRequires: oxygen-icon-theme-scalable # } BuildRequires: pkg-config BuildRequires: python >= 2.5 BuildRequires: python-gobject2-devel BuildRequires: update-desktop-files BuildRequires: pkgconfig(vapigen) >= 0.16 Requires: dbus-1-python Requires: dconf Requires: gobject-introspection Requires: iso-codes Requires: libibus-1_0-5 = %{version} Requires: notification-daemon Requires: python-gtk Requires: python-notify %if 0%{suse_version} >= 1220 Requires: typelib-1_0-Gtk-2_0 Requires: typelib-1_0-Gtk-3_0 %endif Obsoletes: ibus-gnome-shell Obsoletes: libibus-1_0-0 Recommends: %{name}-lang #Fix cursor following problem in KDE4 for libreoffice, libreoffice-kde and libreoffice-kde4 can destroy cursor following, please don't install them with ibus. Supplements: packageand(libreoffice:libreoffice-gnome) Conflicts: libreoffice-kde Conflicts: libreoffice-kde4 %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)") %define gtk_binary_version %(pkg-config --variable=gtk_binary_version gtk+-2.0) %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 %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} %gtk2_immodule_requires Supplements: packageand(ibus:gtk2) %description gtk This package contains ibus im module for gtk2 %package gtk3 Summary: IBus im module for gtk3 Group: System/I18n/Chinese Requires: %{name} = %{version} BuildRequires: gtk3-devel %gtk3_immodule_requires Supplements: packageand(ibus:gtk3) %description gtk3 This package contains ibus im module for gtk3 %package -n python-ibus Summary: Python module for ibus Group: System/I18n/Chinese Requires: %{name} = %{version} %description -n python-ibus This package contains python module for ibus %package branding-openSUSE-KDE Summary: openSUSE branding for KDE Group: System/GUI/KDE Requires: ibus = %{version} Supplements: packageand(ibus:kdelibs4) Supplements: packageand(ibus:branding-openSUSE-KDE) 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 %if %{with_automatic_config} %patch1 -p1 %patch2 -p1 rm -f bindings/vala/ibus-1.0.vapi rm -f data/dconf/00-upstream-settings %endif %patch3 -p1 %patch4 -p1 %build autoreconf -fi intltoolize -f %configure --disable-static \ --enable-gtk3 \ --enable-vala \ --enable-python-library \ --enable-introspection \ --disable-gconf \ --enable-dconf \ --enable-gtk-doc \ %if %{with_automatic_config} --enable-libgnomekbd \ %endif --enable-surrounding-text \ --libexecdir=%{_prefix}/%{_lib}/ibus %if %{with_automatic_config} make -C ui/gtk3 maintainer-clean-generic %endif make %{?jobs:-j %jobs} %install %makeinstall # autostart mkdir -p $RPM_BUILD_ROOT/etc/X11/xim.d/ install -m 644 $RPM_SOURCE_DIR/xim.d-ibus-121 $RPM_BUILD_ROOT/etc/X11/xim.d/ibus sed -i 1i"SYS_LIB=%{_lib}" $RPM_BUILD_ROOT/etc/X11/xim.d/ibus PRIORITY=40 pushd $RPM_BUILD_ROOT/etc/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 rm -f $RPM_BUILD_ROOT/%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ibus.*a rm -f $RPM_BUILD_ROOT/%{_libdir}/libibus-*.*a mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps ln -sf %{_datadir}/icons/hicolor/48x48/apps/ibus-keyboard.png \ $RPM_BUILD_ROOT%{_datadir}/pixmaps/ibus-keyboard.png # touch for %%ghost touch $RPM_BUILD_ROOT/%{_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 %suse_update_desktop_file %name-setup System Utility settings %fdupes %buildroot/%_prefix %fdupes -s $RPM_BUILD_ROOT %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 %doc $RPM_SOURCE_DIR/xim.ibus.suse.template %doc $RPM_SOURCE_DIR/ibus-README.suse %dir /etc/X11/xim.d %config /etc/X11/xim.d/* %dir %{_datadir}/ibus/ %{_bindir}/ibus %{_bindir}/ibus-daemon %{_bindir}/ibus-setup %{_datadir}/ibus/* %{_datadir}/applications/* %dir %{_datadir}/GConf %dir %{_datadir}/GConf/gsettings %{_datadir}/GConf/gsettings/ibus.convert %{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml %{_datadir}/icons/hicolor/*/apps/* %{_datadir}/pixmaps/* %{_prefix}/%{_lib}/ibus %{_datadir}/bash-completion %dir %config %{_sysconfdir}/dconf/db/ibus.d # These files are not config files. Users must not modify them. %{_sysconfdir}/dconf/db/ibus.d/00-upstream-settings %ghost %{_sysconfdir}/dconf/db/ibus %{_sysconfdir}/dconf/profile/ibus %{_mandir}/man1/ibus* %files lang -f ibus10.lang %files -n libibus-1_0-5 %defattr(-,root,root,-) %{_libdir}/lib*.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/* %files -n python-ibus %defattr(-,root,root,-) %{_libdir}/python2.7/site-packages/ibus %files devel %defattr(-,root,root,-) %{_libdir}/lib*.so %{_includedir}/* %{_datadir}/gtk-doc/html/* %{_libdir}/pkgconfig/* %{_datadir}/gir-1.0/IBus-1.0.gir %{_datadir}/vala/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 ++++++ Always-save-the-content-type-cache-for-gnome-shell-p.patch ++++++ >From 9596aea2e2df4cd3ac9b795ad9f354723cf83317 Mon Sep 17 00:00:00 2001 From: fujiwarat <takao.fujiwa...@gmail.com> Date: Wed, 2 Oct 2013 10:58:36 +0900 Subject: [PATCH] Always save the content-type cache for gnome-shell password. GDBusProxy updates the cache immediatelly with the first call only and has to save the next call in the cache by manual. BUG=RH#1013948 TEST=password on gnome-shell 3.10. Review URL: https://codereview.appspot.com/14196043 --- bus/engineproxy.c | 5 +++++ 1 file changed, 5 insertions(+) --- a/bus/engineproxy.c +++ b/bus/engineproxy.c @@ -1159,6 +1159,11 @@ bus_engine_proxy_set_content_type (BusEn NULL, NULL, NULL); + + /* Need to update the cache by manual since there is a timing issue. */ + g_dbus_proxy_set_cached_property ((GDBusProxy *) engine, + "ContentType", + content_type); } if (cached_content_type != NULL) ++++++ add-libgnomekbd-and-load-preload-engines.patch ++++++ ++++ 1938 lines (skipped) ++++++ baselibs.conf ++++++ ibus-gtk post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" 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-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/ ++++++ ibus-python-install-dir.patch ++++++ diff --git a/ibus/Makefile.am b/ibus/Makefile.am index d1cd750..9910f54 100644 --- a/ibus/Makefile.am +++ b/ibus/Makefile.am @@ -56,7 +56,7 @@ nodist_ibus_PYTHON = \ _config.py \ $(NULL) -ibusdir = @pkgpythondir@ +ibusdir = @pyexecdir@/ibus EXTRA_DIST = \ _config.py.in \ diff --git a/ibus/interface/Makefile.am b/ibus/interface/Makefile.am index 49871ed..1fa37e5 100644 --- a/ibus/interface/Makefile.am +++ b/ibus/interface/Makefile.am @@ -31,7 +31,7 @@ ibus_interface_PYTHON = \ __init__.py \ $(NULL) -ibus_interfacedir = @pkgpythondir@/interface +ibus_interfacedir = @pyexecdir@/ibus/interface CLEANFILES = \ *.pyc \ ++++++ reload-preload-engines-until-users-customize-the-list.patch ++++++ >From d566bc83a4672b88a38fa5de25741b99ebaeae62 Mon Sep 17 00:00:00 2001 From: fujiwarat <takao.fujiwa...@gmail.com> Date: Fri, 20 Sep 2013 17:20:09 +0900 Subject: [PATCH] Reload preload engines until users customize the list. This patch was generated by ft...@geeko.jp from a git repository maintained by a upstream developer (fujiwarat). https://github.com/fujiwarat/ibus/commits/gtk3-vala The following description is from the original commit: The idea is, if users don't customize the preload_engines with ibus-setup, users would prefer to load the system default engines again by login. The gsettings value 'preload-engine-mode' is IBUS_PRELOAD_ENGINE_MODE_USER by default but set IBUS_PRELOAD_ENGINE_MODE_LANG_RELATIVE for the initial login. If 'preload-engine-mode' is IBUS_PRELOAD_ENGINE_MODE_LANG_RELATIVE, ibus-daemon loads the system preload engines by langs. If 'preload-engine-mode' is IBUS_PRELOAD_ENGINE_MODE_USER, ibus-daemon do not update the gsettings value 'preload-engines' On the other hand, if users enable the customized engine checkbutton on ibus-setup, ibus-setup sets 'preload-engine-mode' as IBUS_PRELOAD_ENGINE_MODE_USER and users can customize the value 'preload-engines'. --- data/ibus.schemas.in | 24 ++++++++++++++ setup/main.py | 70 +++++++++++++++++++++++++++++++++++---- setup/setup.ui | 22 +++++++++++-- src/ibustypes.h | 10 ++++++ ui/gtk3/panel.vala | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 210 insertions(+), 9 deletions(-) diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in index 88a287f..b6709fd 100644 --- a/data/ibus.schemas.in +++ b/data/ibus.schemas.in @@ -2,6 +2,30 @@ <gconfschemafile> <schemalist> <schema> + <key>/schemas/desktop/ibus/general/preload_engine_mode</key> + <applyto>/desktop/ibus/general/preload_engine_mode</applyto> + <owner>ibus</owner> + <type>int</type> + <default>0</default> + <locale name="C"> + <short>Preload engine mode</short> + <long>Preload engines are loaded with this mode. + 0 = user customized engines. + 1 = language related engines.</long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/ibus/general/preload_engines_inited</key> + <applyto>/desktop/ibus/general/preload_engines_inited</applyto> + <owner>ibus</owner> + <type>bool</type> + <default>false</default> + <locale name="C"> + <short>The key preload_engines is initialized</short> + <long>The key preload_engines is initialized</long> + </locale> + </schema> + <schema> <key>/schemas/desktop/ibus/general/preload_engines</key> <applyto>/desktop/ibus/general/preload_engines</applyto> <owner>ibus</owner> diff --git a/setup/main.py b/setup/main.py index d3f4414..235ef9c 100644 --- a/setup/main.py +++ b/setup/main.py @@ -187,16 +187,30 @@ def __init_general(self): 'active', Gio.SettingsBindFlags.DEFAULT) + # set preload mode + preload_engine_mode = \ + self.__settings_general.get_int('preload-engine-mode') + button = self.__builder.get_object("checkbutton_preload_engine_mode") + hbox = self.__builder.get_object("hbox_customize_active_input_methods") + if preload_engine_mode == IBus.PreloadEngineMode.USER: + button.set_active(True) + hbox.set_sensitive(True) + else: + button.set_active(False) + hbox.set_sensitive(False) + button.connect('toggled', + self.__checkbutton_preload_engine_mode_toggled_cb) + + self.__settings_general.connect('changed::preload-engines', + self.__settings_general_preload_engines_cb) + # init engine page self.__engines = self.__bus.list_engines() self.__combobox = self.__builder.get_object("combobox_engines") self.__combobox.set_engines(self.__engines) - tmp_dict = {} - for e in self.__engines: - tmp_dict[e.get_name()] = e engine_names = self.__settings_general.get_strv('preload-engines') - engines = [tmp_dict[name] for name in engine_names if name in tmp_dict] + engines = self.__get_engine_descs_from_names(engine_names) self.__treeview = self.__builder.get_object("treeview_engines") self.__treeview.set_engines(engines) @@ -246,8 +260,8 @@ def __init_ui(self): def __combobox_notify_active_engine_cb(self, combobox, property): engine = self.__combobox.get_active_engine() button = self.__builder.get_object("button_engine_add") - button.set_sensitive( - engine != None and engine not in self.__treeview.get_engines()) + button.set_sensitive(engine != None and \ + engine.get_name() not in map(lambda e: e.get_name(), self.__treeview.get_engines())) def __get_engine_setup_exec_args(self, engine): args = [] @@ -267,6 +281,13 @@ def __get_engine_setup_exec_args(self, engine): args.append(path.basename(setup_path)) return args + def __get_engine_descs_from_names(self, engine_names): + tmp_dict = {} + for e in self.__engines: + tmp_dict[e.get_name()] = e + engines = [tmp_dict[name] for name in engine_names if name in tmp_dict] + return engines + def __treeview_notify_cb(self, treeview, prop): if prop.name not in ("active-engine", "engines"): return @@ -318,6 +339,43 @@ def __button_engine_preferences_cb(self, button): del self.__engine_setup_exec_list[name] self.__engine_setup_exec_list[name] = os.spawnl(os.P_NOWAIT, *args) + def __checkbutton_preload_engine_mode_toggled_cb(self, button): + if button.get_active(): + self.__settings_general.set_int('preload-engine-mode', + IBus.PreloadEngineMode.USER) + self.__builder.get_object( + "hbox_customize_active_input_methods").set_sensitive(True) + self.__treeview.notify('engines') + else: + message = _("The list of your saved input methods will be " \ + "cleared immediately and the list will be " \ + "configured by the login language every time. " \ + "Do you agree with this?") + dlg = Gtk.MessageDialog(type = Gtk.MessageType.QUESTION, + buttons = Gtk.ButtonsType.YES_NO, + message_format = message) + id = dlg.run() + dlg.destroy() + self.__flush_gtk_events() + if id != Gtk.ResponseType.YES: + button.set_active(True) + return + self.__settings_general.set_int( + 'preload-engine-mode', + IBus.PreloadEngineMode.LANG_RELATIVE) + self.__builder.get_object( + "hbox_customize_active_input_methods").set_sensitive(False) + + def __settings_general_preload_engines_cb(self, settings, key): + engine_names = self.__settings_general.get_strv('preload-engines') + engines = self.__get_engine_descs_from_names(engine_names) + current_engines = self.__treeview.get_engines() + engines_csv = str.join(',', map(lambda e: e.get_name(), engines)) + current_engines_csv = \ + str.join(',', map(lambda e: e.get_name(), current_engines)) + if engines_csv != current_engines_csv: + self.__treeview.set_engines(engines) + def __init_bus(self): self.__bus = IBus.Bus() if self.__bus.is_connected(): diff --git a/setup/setup.ui b/setup/setup.ui index 1638abb..72a5d57 100644 --- a/setup/setup.ui +++ b/setup/setup.ui @@ -669,7 +669,23 @@ <property name="visible">True</property> <property name="can_focus">False</property> <child> - <object class="GtkHBox" id="hbox1"> + <object class="GtkCheckButton" id="checkbutton_preload_engine_mode"> + <property name="visible">True</property> + <property name="label" translatable="yes">Customize active input _methods</property> + <property name="use_underline">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Customize active input methods</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox_customize_active_input_methods"> <property name="visible">True</property> <property name="can_focus">False</property> <child> @@ -858,7 +874,7 @@ <packing> <property name="expand">True</property> <property name="fill">True</property> - <property name="position">0</property> + <property name="position">1</property> </packing> </child> <child> @@ -905,7 +921,7 @@ You may use up/down buttons to change it.</i></small></property> <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="position">1</property> + <property name="position">2</property> </packing> </child> </object> diff --git a/src/ibustypes.h b/src/ibustypes.h index 6d30a86..dac7f8f 100644 --- a/src/ibustypes.h +++ b/src/ibustypes.h @@ -204,6 +204,16 @@ } IBusError; /** + * IBusPreloadEngineMode: + * @IBUS_PRELOAD_ENGINE_MODE_USER: user custimized engines + * @IBUS_PRELOAD_ENGINE_MODE_LANG_RELATIVE: language related engines. + */ +typedef enum { + IBUS_PRELOAD_ENGINE_MODE_USER = 0, + IBUS_PRELOAD_ENGINE_MODE_LANG_RELATIVE = 1, +} IBusPreloadEngineMode; + +/** * IBusRectangle: * @x: x coordinate. * @y: y coordinate. diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala index c08f6f4..9c1fef5 100644 --- a/ui/gtk3/panel.vala +++ b/ui/gtk3/panel.vala @@ -130,6 +130,10 @@ class Panel : IBus.PanelService { null); }); + m_settings_general.changed["preload-engine-mode"].connect((key) => { + update_im_engines(); + }); + m_settings_general.changed["switcher-delay-time"].connect((key) => { set_switcher_delay_time(); }); @@ -476,7 +480,96 @@ class Panel : IBus.PanelService { init_gkbd(); } + string[] preload_engines = + m_settings_general.get_strv("preload-engines"); + + bool preload_engines_inited = + m_settings_general.get_boolean("preload-engines-inited"); + + // Set preload_engines_inited = true for back compatibility + if (preload_engines.length != 0 && !preload_engines_inited) { + preload_engines_inited = true; + m_settings_general.set_boolean("preload-engines-inited", true); + } + update_xkb_engines(); + + // Before update preload_engine_mode, update_xkb_engines() is called + // because "preload-engine-mode" signal calls update_im_engines(). + if (!preload_engines_inited) + m_settings_general.set_int("preload-engine-mode", + IBus.PreloadEngineMode.LANG_RELATIVE); + + update_im_engines(); + + if (!preload_engines_inited) + m_settings_general.set_boolean("preload-engines-inited", true); + } + + private bool set_lang_relative_preload_engines() { + string locale = Intl.setlocale(LocaleCategory.CTYPE, null); + + if (locale == null) + locale = "C"; + + string lang = locale.split(".")[0]; + GLib.List<IBus.EngineDesc> engines = m_bus.list_engines(); + string[] im_engines = {}; + + for (unowned GLib.List<IBus.EngineDesc> p = engines; + p != null; + p = p.next) { + unowned IBus.EngineDesc engine = p.data; + if (engine.get_language() == lang && engine.get_rank() > 0) + im_engines += engine.get_name(); + } + + lang = lang.split("_")[0]; + if (im_engines.length == 0) { + for (unowned GLib.List<IBus.EngineDesc> p = engines; + p != null; + p = p.next) { + unowned IBus.EngineDesc engine = p.data; + if (engine.get_language() == lang && engine.get_rank() > 0) + im_engines += engine.get_name(); + } + } + + if (im_engines.length == 0) + return false; + + string[] orig_preload_engines = + m_settings_general.get_strv("preload-engines"); + string[] preload_engines = {}; + + // clear input method engines + foreach (string name in orig_preload_engines) { + if (name.ascii_ncasecmp("xkb:", 4) != 0) + continue; + + preload_engines += name; + } + + foreach (string name in im_engines) { + if (!(name in preload_engines)) + preload_engines += name; + } + + if ("".joinv(",", orig_preload_engines) != + "".joinv(",", preload_engines)) + m_settings_general.set_strv("preload-engines", preload_engines); + + return true; + } + + private void update_im_engines() { + int preload_engine_mode = + m_settings_general.get_int("preload-engine-mode"); + + if (preload_engine_mode == IBus.PreloadEngineMode.USER) + return; + + set_lang_relative_preload_engines(); } private void update_xkb_engines() { -- 1.8.4 ++++++ show-input-mode-icon.patch ++++++ >From 8dcad73926dfed30b1aae6bcb6c0ecae35d13777 Mon Sep 17 00:00:00 2001 From: Fuminobu TAKEYAMA <ft...@geeko.jp> Date: Sun, 6 Oct 2013 15:29:43 +0900 Subject: [PATCH] If icons for input modes are available, use those icons instead of engine's icons. --- ui/gtk3/panel.vala | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala index 9c1fef5..1d38bfe 100644 --- a/ui/gtk3/panel.vala +++ b/ui/gtk3/panel.vala @@ -1098,10 +1098,51 @@ class Panel : IBus.PanelService { public override void register_properties(IBus.PropList props) { m_property_manager.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); + 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 24 px because icons are wrongly cropped on KDE + var icon_img = new Gdk.Pixbuf.from_file_at_size(icon_name, 24, 24); + 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, -- 1.8.4 ++++++ xim.d-ibus-121 ++++++ OLD_PATH=$PATH PATH=/usr/bin:/usr/X11R6/bin:/opt/kde3/bin:$PATH if ! type -p ibus-daemon > /dev/null 2>&1 ; then echo "ibus is not available." PATH=$OLD_PATH return 1 fi #when skim installed, Autostart must be "false". #here we move $HOME/.kde/share/config/skimrc to skimrc.orig.ibus case "$WINDOWMANAGER" in *kde*) if type -p skim > /dev/null 2>&1 \ && ! grep -i -q "^[[:space:]]*Autostart.*=.*false" $HOME/.kde/share/config/skimrc then if [ -f $HOME/.kde/share/config/skimrc.orig.ibus ] ; then mv -f $HOME/.kde/share/config/skimrc $HOME/.kde/share/config/skimrc.orig.ibus chmod 777 $HOME/.kde/share/config/skimrc.orig.ibus fi cat > $HOME/.kde/share/config/skimrc << __END [General] Autostart=false __END chmod 777 $HOME/.kde/share/config/skimrc else # do nothing : fi ;; *) # do nothing ;; esac # Determine the LC_CTYPE locale category setting #tmplang=${LC_ALL-${LC_CTYPE-${LANG-en_US}}} 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 PATH=$OLD_PATH # 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 & -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org