[gnome-shell] remoteSearch: Allow search providers not to auto-start



commit 289f982949c26603efe1136859bbd9bb469469fb
Author: Bastien Nocera <hadess hadess net>
Date:   Thu Aug 24 13:06:45 2017 +0200

    remoteSearch: Allow search providers not to auto-start
    
    This would be used by search providers which only operate on data in the
    running instance, such as the terminal's search provider which finds the
    shell in the tab matching the search text.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=785380

 js/ui/remoteSearch.js |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js
index 24897a5..a7be926 100644
--- a/js/ui/remoteSearch.js
+++ b/js/ui/remoteSearch.js
@@ -117,6 +117,13 @@ function loadRemoteSearchProviders(searchSettings, callback) {
                 // ignore error
             }
 
+            remoteProvider.autoStart = true;
+            try {
+                remoteProvider.autoStart = keyfile.get_boolean(group, 'AutoStart');
+            } catch(e) {
+                // ignore error
+            }
+
             objectPaths[objectPath] = remoteProvider;
             loadedProviders.push(remoteProvider);
         } catch(e) {
@@ -188,13 +195,18 @@ var RemoteSearchProvider = new Lang.Class({
         if (!proxyInfo)
             proxyInfo = SearchProviderProxyInfo;
 
+        let g_flags = Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES;
+        if (remoteProvider.autoStart)
+            g_flags |= Gio.DBusProxyFlags.DO_NOT_AUTO_START_AT_CONSTRUCTION;
+        else
+            g_flags |= Gio.DBusProxyFlags.DO_NOT_AUTO_START;
+
         this.proxy = new Gio.DBusProxy({ g_bus_type: Gio.BusType.SESSION,
                                          g_name: dbusName,
                                          g_object_path: dbusPath,
                                          g_interface_info: proxyInfo,
                                          g_interface_name: proxyInfo.name,
-                                         g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START_AT_CONSTRUCTION |
-                                                   Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
+                                         g_flags });
         this.proxy.init_async(GLib.PRIORITY_DEFAULT, null, null);
 
         this.appInfo = appInfo;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]