File onboard-remove-dep-typelib-appindicator3.patch of Package onboard.10767

Index: onboard-1.4.1/Onboard/Indicator.py
===================================================================
--- onboard-1.4.1.orig/Onboard/Indicator.py
+++ onboard-1.4.1/Onboard/Indicator.py
@@ -174,15 +174,10 @@ class Indicator():
             # auto-detection
             sip = config.get_preferred_statusicon_provider()
 
-        if sip == StatusIconProviderEnum.GtkStatusIcon:
-            backends = [BackendGtkStatusIcon]
-        elif sip == StatusIconProviderEnum.AppIndicator:
-            backends = [BackendAppIndicator, BackendGtkStatusIcon]
-        elif sip is None:
+        if sip is None:
             backends = []
         else:  # sip == StatusIconProviderEnum.auto
-            backends = [BackendAppIndicator,
-                        BackendGtkStatusIcon]
+            backends = [BackendGtkStatusIcon]
 
         self._backend = None
         for backend in backends:
@@ -280,85 +275,3 @@ class BackendGtkStatusIcon(BackendBase):
         elif len(args) == 3:  # in <=Xenial?
             x, y, status_icon = args
             return Gtk.StatusIcon.position_menu(gtk_menu, x, y, status_icon)
-
-
-class BackendAppIndicator(BackendBase):
-
-    _indicator = None
-
-    STATUSNOTIFIER_OBJECT = "/org/ayatana/NotificationItem/Onboard"
-    STATUSNOTIFIER_IFACE = "org.kde.StatusNotifierItem"
-    ACTIVATE_METHOD = "Activate"
-
-    def __init__(self, menu):
-        BackendBase.__init__(self, menu)
-
-        try:
-            from gi.repository import AppIndicator3 as AppIndicator
-        except ImportError as ex:
-            raise RuntimeError(ex)
-
-        self._indicator = AppIndicator.Indicator.new(
-            self.id,
-            self.icon_name,
-            AppIndicator.IndicatorCategory.APPLICATION_STATUS)
-        self._indicator.set_icon_full(self.icon_name,
-                                      self.icon_desc)
-
-        self._indicator.set_menu(menu._menu)
-        self._indicator.set_secondary_activate_target(
-            menu._menu.get_children()[0])
-
-        if "dbus" in globals():
-            # Watch left-click Activate() calls on desktops that send them
-            # (KDE Plasma). There is still "No such method 'Activate'" in
-            # AppIndicator.
-            try:
-                self._bus = dbus.SessionBus()
-            except dbus.exceptions.DBusException as ex:
-                _logger.warning("D-Bus session bus unavailable, "
-                                "no left-click Activate() for AppIndicator: " +
-                                unicode_str(ex))
-            else:
-                try:
-                    self._bus.add_match_string(
-                        "type='method_call',"
-                        "eavesdrop=true,"
-                        "path='{}',"
-                        "interface='{}',"
-                        "member='{}'"
-                        .format(self.STATUSNOTIFIER_OBJECT,
-                                self.STATUSNOTIFIER_IFACE,
-                                self.ACTIVATE_METHOD))
-                    self._bus.add_message_filter(self._on_activate_method)
-                except dbus.exceptions.DBusException as ex:
-                    _logger.warning("Failed to setup D-Bus match rule, "
-                                    "no left-click Activate() for AppIndicator: " +
-                                    unicode_str(ex))
-
-    def cleanup(self):
-        pass
-
-    def _on_activate_method(self, bus, message):
-        if message.get_path() == self.STATUSNOTIFIER_OBJECT and \
-           message.get_member() == self.ACTIVATE_METHOD:
-            self._menu.on_show_keyboard_toggle()
-        return dbus.connection.HANDLER_RESULT_NOT_YET_HANDLED
-
-    def set_visible(self, visible):
-        self._set_indicator_active(visible)
-
-    def _set_indicator_active(self, active):
-        try:
-            from gi.repository import AppIndicator3 as AppIndicator
-        except ImportError:
-            pass
-        else:
-            if active:
-                self._indicator.set_status(
-                    AppIndicator.IndicatorStatus.ACTIVE)
-            else:
-                self._indicator.set_status(
-                    AppIndicator.IndicatorStatus.PASSIVE)
-
-
Index: onboard-1.4.1/Onboard/Version.py
===================================================================
--- onboard-1.4.1.orig/Onboard/Version.py
+++ onboard-1.4.1/Onboard/Version.py
@@ -32,10 +32,3 @@ def require_gi_versions():
         gi.require_version('Atspi', '2.0')
     except ValueError:
         pass
-
-    # AppIndicator3 is not required
-    try:
-        gi.require_version('AppIndicator3', '0.1')
-    except ValueError:
-        pass
-
openSUSE Build Service is sponsored by