From 289f982949c26603efe1136859bbd9bb469469fb Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Thu, 24 Aug 2017 13:06:45 +0200 Subject: [PATCH] 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 file changed, 14 insertions(+), 2 deletions(-) diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js index 24897a599..a7be9265d 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;