Hello community, here is the log from the commit of package ibus for openSUSE:Factory checked in at 2013-02-21 10:33:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ibus (Old) and /work/SRC/openSUSE:Factory/.ibus.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "ibus", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/ibus/ibus.changes 2013-02-11 20:46:00.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ibus.new/ibus.changes 2013-02-21 10:33:34.000000000 +0100 @@ -1,0 +2,7 @@ +Sat Feb 16 15:59:12 UTC 2013 - ftake@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 + +------------------------------------------------------------------- New: ---- ibus_indicator-14.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ibus.spec ++++++ --- /var/tmp/diff_new_pack.RgL2Xa/_old 2013-02-21 10:33:36.000000000 +0100 +++ /var/tmp/diff_new_pack.RgL2Xa/_new 2013-02-21 10:33:36.000000000 +0100 @@ -33,7 +33,10 @@ Patch1: ibus-fix-default-preload-engines.patch # PATCH-FIX-OPENSUSE ibus-fix-docs-build-error.patch Patch2: ibus-fix-docs-build-error.patch +# PATCH-FIX-OPENSUSE ibus-fix-tray-icon-on-gnome-3.6.patch Patch3: ibus-fix-tray-icon-on-gnome-3.6.patch +# PATCH-FIX-OPENSUSE ibus_indicator-14.patch +Patch4: ibus_indicator-14.patch Summary: Intelligent Input Bus for Linux OS License: LGPL-2.1+ Group: System/I18n/Chinese @@ -134,6 +137,7 @@ %patch2 -p1 %if 0%{suse_version} >= 1230 %patch3 -p1 +%patch4 -p1 %endif %build @@ -188,6 +192,11 @@ cat %{name}.schemas_list %{domain_name}.lang > %{name}.lst %fdupes -s $RPM_BUILD_ROOT +%if 0%{suse_version} >= 1230 +install -m755 -d %{buildroot}%{_datadir}/gnome-shell/extensions/ibus_indicator-14@ftake.github.com +install -m644 ibus_indicator-14@ftake.github.com/* %{buildroot}%{_datadir}/gnome-shell/extensions/ibus_indicator-14@ftake.github.com +%endif + %clean rm -rf %buildroot @@ -232,6 +241,12 @@ %{_datadir}/icons/hicolor/*/apps/* %{_datadir}/pixmaps/* %{_prefix}/%{_lib}/ibus +%if 0%{suse_version} >= 1230 +%dir %{_datadir}/gnome-shell/ +%dir %{_datadir}/gnome-shell/extensions/ +%dir %{_datadir}/gnome-shell/extensions/ibus_indicator-14@ftake.github.com/ +%{_datadir}/gnome-shell/extensions/ibus_indicator-14@ftake.github.com/* +%endif %files -n libibus-1_0-0 %defattr(-,root,root,-) ++++++ ibus-README.suse ++++++ --- /var/tmp/diff_new_pack.RgL2Xa/_old 2013-02-21 10:33:36.000000000 +0100 +++ /var/tmp/diff_new_pack.RgL2Xa/_new 2013-02-21 10:33:36.000000000 +0100 @@ -1,6 +1,11 @@ ibus README for SuSE How to start using ibus +Note: +Since GNOME 3.6 does not support IBus 1.4, IBus's indicator icon is not placed on GNOME panel in the top of screen +by default. This package includes a GNOME shell extension named IBus 1.4 indicator to resolve this problem. +Please enable the extension manually from gnome-tweak-tool GUI if you need the indicator on the panel. + English: 0:Note: ibus don't support QT3 immodule, ++++++ ibus-fix-tray-icon-on-gnome-3.6.patch ++++++ --- /var/tmp/diff_new_pack.RgL2Xa/_old 2013-02-21 10:33:36.000000000 +0100 +++ /var/tmp/diff_new_pack.RgL2Xa/_new 2013-02-21 10:33:36.000000000 +0100 @@ -1,23 +1,12 @@ -diff -Nur ibus-1.4.2/ui/gtk/panel.py ibus-1.4.2-new/ui/gtk/panel.py ---- ibus-1.4.2/ui/gtk/panel.py 2012-08-22 22:16:51.000000000 +0800 -+++ ibus-1.4.2-new/ui/gtk/panel.py 2013-02-08 23:57:47.465504005 +0800 -@@ -103,19 +103,6 @@ - - - self.__status_icon = gtk.StatusIcon() -- # gnome-shell checks XClassHint.res_class with ShellTrayIcon. -- # gtk_status_icon_set_name() can set XClassHint.res_class . -- # However gtk_status_icon_new() also calls gtk_window_realize() so -- # gtk_status_icon_set_visible() needs to be called to set WM_CLASS -- # so that gtk_window_realize() is called later again. -- # set_title is for gnome-shell notificationDaemon in bottom right. -- self.__status_icon.set_visible(False) -- # gtk_status_icon_set_name() is not available in pygtk2 2.17 -- if hasattr(self.__status_icon, 'set_name'): +diff -ru ibus-1.4.2.org/ui/gtk/panel.py ibus-1.4.2/ui/gtk/panel.py +--- ibus-1.4.2.org/ui/gtk/panel.py 2012-08-22 23:16:51.000000000 +0900 ++++ ibus-1.4.2/ui/gtk/panel.py 2013-02-11 16:40:38.328356131 +0900 +@@ -112,7 +112,7 @@ + self.__status_icon.set_visible(False) + # gtk_status_icon_set_name() is not available in pygtk2 2.17 + if hasattr(self.__status_icon, 'set_name'): - self.__status_icon.set_name('ibus-ui-gtk') -- self.__status_icon.set_title(_("IBus Panel")) -- # Hide icon until bus get the name owner. -- #self.__status_icon.set_visible(True) - self.__status_icon.connect("popup-menu", self.__status_icon_popup_menu_cb) - self.__status_icon.connect("activate", self.__status_icon_activate_cb) - self.__status_icon.set_from_icon_name(ICON_KEYBOARD) ++ self.__status_icon.set_name('ibus-ui-gtk-14') + self.__status_icon.set_title(_("IBus Panel")) + # Hide icon until bus get the name owner. + #self.__status_icon.set_visible(True) ++++++ ibus_indicator-14.patch ++++++ diff -ruN ibus-1.4.2.org/ibus_indicator-14@ftake.github.com/extension.js ibus-1.4.2/ibus_indicator-14@ftake.github.com/extension.js --- ibus-1.4.2.org/ibus_indicator-14@ftake.github.com/extension.js 1970-01-01 09:00:00.000000000 +0900 +++ ibus-1.4.2/ibus_indicator-14@ftake.github.com/extension.js 2013-02-17 00:46:21.244945766 +0900 @@ -0,0 +1,107 @@ +const Main = imports.ui.main +const Shell = imports.gi.Shell +const Panel = imports.ui.panel +const Lang = imports.lang +const PanelMenu = imports.ui.panelMenu +const NotificationDaemon = imports.ui.notificationDaemon; + +let addIndicator = null + +const AddIndicator = new Lang.Class({ + Name: 'AddIndicator', + + _init: function() { + Main.notificationDaemon._trayManager.connect('tray-icon-added', Lang.bind(this, this._onTrayIconAdded)) + Main.notificationDaemon._trayManager.connect('tray-icon-removed', Lang.bind(this, this._onTrayIconRemoved)) + Panel.PANEL_ITEM_IMPLEMENTATIONS['ibus-ui-gtk-14'] = null; + }, + + _onTrayIconAdded: function(manager, actor) { + if (actor.wm_class == 'ibus-ui-gtk-14') { + // for patched IBus 1.4 + this._icon = actor; + this._addIBusIndicator(); + } else if (actor.wm_class == 'ibus-ui-gtk') { + try { + var IBus = imports.gi.IBus + if (!('new_async' in IBus.Bus)) { + // This IBus does not support GNOME 3.6 + this._icon = actor; + this._addIBusIndicator(); + } + } catch (e) { + IBus = null + log(e) + } + } + }, + + _addIBusIndicator: function() { + if (this._enabled && this._icon) { + this._removeFromNotificationDaemon(); + this._icon.height = Panel.PANEL_ICON_SIZE + this._icon.queue_redraw() + this._indicator = new PanelMenu.Button() + this._indicator.actor.add_actor(this._icon) + Main.panel.addToStatusArea('ibus-ui-gtk-14', this._indicator, 0, 'right') + NotificationDaemon.STANDARD_TRAY_ICON_IMPLEMENTATIONS['ibus-ui-gtk-14'] = 'keyboard' + } + }, + + _removeIBusIndicator: function() { + if (this._indicator) { + this._indicator.actor.remove_actor(this._icon); +// this._icon.unparent(); + this._indicator.destroy(); + this._indicator = null; + } + }, + + _onTrayIconRemoved: function(manager, actor) { + if (actor.wm_class == 'ibus-ui-gtk-14' || actor.wm_class == 'ibus-ui-gtk') { + this._removeIBusIndicator(); + this._icon = null; + } + }, + + _removeFromNotificationDaemon: function() { + if (this._icon) { + let source = Main.notificationDaemon._lookupSource(null, this._icon.pid, true); + if (source) { + this._icon.get_parent().remove_actor(this._icon) +// this._icon.unparent() + source.destroy(); + } + } + }, + + _enabled: false, + enable: function() { + this._enabled = true; + this._addIBusIndicator(); + }, + + disable: function() { + this._enabled = false; + this._removeIBusIndicator(); + NotificationDaemon.STANDARD_TRAY_ICON_IMPLEMENTATIONS['ibus-ui-gtk-14'] = undefined; + if (this._icon) { + //Main.notificationDaemon._onTrayIconAdded(null, this._icon); + Main.notificationDaemon._getSource( + this._icon.title || this._icon.wm_class || C_("program", "Unknown"), + this._icon.pid, null, null, this._icon); + } + } +}) + +function init() { + addIndicator = new AddIndicator(); +} + +function enable() { + addIndicator.enable(); +} + +function disable() { + addIndicator.disable(); +} diff -ruN ibus-1.4.2.org/ibus_indicator-14@ftake.github.com/metadata.json ibus-1.4.2/ibus_indicator-14@ftake.github.com/metadata.json --- ibus-1.4.2.org/ibus_indicator-14@ftake.github.com/metadata.json 1970-01-01 09:00:00.000000000 +0900 +++ ibus-1.4.2/ibus_indicator-14@ftake.github.com/metadata.json 2013-02-17 00:46:29.038879855 +0900 @@ -0,0 +1 @@ +{"shell-version": ["3.6"], "uuid": "ibus_indicator-14@ftake.github.com", "name": "IBus 1.4 indicator", "description": "An indicator for IBus 1.4"} -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org