--- synapse-0.2.10.orig/src/ui/synapse-main.vala 2013-08-18 18:33:35.710536590 +0200
+++ synapse-0.2.10/src/ui/synapse-main.vala 2013-08-18 18:33:44.427203171 +0200
@@ -165,6 +165,7 @@
- typeof (DesktopFilePlugin),
typeof (HybridSearchPlugin),
+ typeof (GnomeBookmarksPlugin),
typeof (GnomeSessionPlugin),
+ typeof (MateSessionPlugin),
- typeof (GnomeScreenSaverPlugin),
+ typeof (ScreenSaverPlugin),
typeof (SystemManagementPlugin),
typeof (CommandPlugin),
-diff -urN synapse-0.2.99.orig/src/plugins/Makefile.am synapse-0.2.99/src/plugins/Makefile.am
---- synapse-0.2.99.orig/src/plugins/Makefile.am 2014-12-02 21:09:40.877899345 +0100
-+++ synapse-0.2.99/src/plugins/Makefile.am 2014-12-02 21:13:38.577901026 +0100
-@@ -44,6 +44,7 @@
- gnome-bookmarks-plugin.vala \
- gnome-session-plugin.vala \
- gnome-screensaver-plugin.vala \
-+ mate-screensaver-plugin.vala \
- hello-world-plugin.vala \
- hybrid-search-plugin.vala \
- launchpad-plugin.vala \
-diff -urN synapse-0.2.99.orig/src/plugins/mate-screensaver-plugin.vala synapse-0.2.99/src/plugins/mate-screensaver-plugin.vala
---- synapse-0.2.99.orig/src/plugins/mate-screensaver-plugin.vala 1970-01-01 01:00:00.000000000 +0100
-+++ synapse-0.2.99/src/plugins/mate-screensaver-plugin.vala 2014-12-02 21:12:56.697900730 +0100
-@@ -0,0 +1,128 @@
-+/*
-+ * Copyright (C) 2010 Igor S. Mandrigin <i@mandrigin.ru>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Based on plugins code by Michal Hruby <michal.mhr@gmail.com>
-+ *
-+ */
-+
-+namespace Synapse
-+{
-+ [DBus (name = "org.mate.ScreenSaver")]
-+ public interface MateScreenSaver : Object
-+ {
-+ public const string UNIQUE_NAME = "org.mate.ScreenSaver";
-+ public const string OBJECT_PATH = "/org/mate/ScreenSaver";
-+
-+ public abstract async void lock () throws IOError;
-+ }
-+
-+ public class MateScreenSaverPlugin : Object, Activatable, ItemProvider
-+ {
-+ public bool enabled { get; set; default = true; }
-+
-+ public void activate ()
-+ {
-+
-+ }
-+
-+ public void deactivate ()
-+ {
-+
-+ }
-+
-+ private class LockScreenAction : ActionMatch
-+ {
-+ public LockScreenAction ()
-+ {
-+ Object (title: _("Lock Screen"),
-+ description: _("Locks screen and starts screensaver."),
-+ icon_name: "system-lock-screen", has_thumbnail: false);
-+ }
-+
-+ public override void do_action ()
-+ {
-+ MateScreenSaverPlugin.lock_screen ();
-+ }
-+ }
-+
-+ public static void lock_screen ()
-+ {
-+ try {
-+ MateScreenSaver dbus_interface = Bus.get_proxy_sync (BusType.SESSION,
-+ MateScreenSaver.UNIQUE_NAME,
-+ MateScreenSaver.OBJECT_PATH);
-+ // we need the async variant cause Screensaver doesn't send the reply
-+ dbus_interface.lock.begin ();
-+ } catch (IOError err) {
-+ warning ("%s", err.message);
-+ }
-+ }
-+
-+ static void register_plugin ()
-+ {
-+ PluginRegistry.get_default ().register_plugin (
-+ typeof (MateScreenSaverPlugin),
-+ "Mate screensaver plugin",
-+ _("Lock screen of your computer."),
-+ "system-lock-screen",
-+ register_plugin,
-+ DBusService.get_default ().name_is_activatable (MateScreenSaver.UNIQUE_NAME),
-+ _("Mate Screen Saver wasn't found")
-+ );
-+ }
-+
-+ static construct
-+ {
-+ register_plugin ();
-+ }
-+
-+ private Gee.List<Match> actions;
-+
-+ construct
-+ {
-+ actions = new Gee.LinkedList<Match> ();
-+ actions.add (new LockScreenAction ());
-+ }
-+
-+ public async ResultSet? search (Query q) throws SearchError
-+ {
-+ // we only search for actions
-+ if (!(QueryFlags.ACTIONS in q.query_type)) return null;
-+
-+ var result = new ResultSet ();
-+
-+ var matchers = Query.get_matchers_for_query (q.query_string, 0,
-+ RegexCompileFlags.OPTIMIZE | RegexCompileFlags.CASELESS);
-+
-+ foreach (var action in actions)
-+ {
-+ foreach (var matcher in matchers)
-+ {
-+ if (matcher.key.match (action.title))
-+ {
-+ result.add (action, matcher.value - MatchScore.INCREMENT_SMALL);
-+ break;
-+ }
-+ }
-+ }
-+
-+ q.check_cancellable ();
-+
-+ return result;
-+ }
-+ }
-+}
-diff -urN synapse-0.2.99.orig/src/ui/synapse-main.vala synapse-0.2.99/src/ui/synapse-main.vala
---- synapse-0.2.99.orig/src/ui/synapse-main.vala 2014-12-02 21:09:40.881232678 +0100
-+++ synapse-0.2.99/src/ui/synapse-main.vala 2014-12-02 21:13:26.064567604 +0100
-@@ -166,6 +166,7 @@
- typeof (GnomeSessionPlugin),
- typeof (MateSessionPlugin),
- typeof (GnomeScreenSaverPlugin),
-+ typeof (MateScreenSaverPlugin),
- typeof (SystemManagementPlugin),
- typeof (CommandPlugin),
- typeof (RhythmboxActions),