summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mate-power-manager.spec16
-rw-r--r--mate-power-manager_avoid-levels-is-0-warning.patch16
-rw-r--r--mate-power-manager_dbus_interface_keyboard_backlight_controls.patch162
-rw-r--r--mate-power-manager_fix-use-g_signal-notify.patch15
-rw-r--r--mate-power-manager_improve-UPower1-support.patch103
-rw-r--r--mate-power-manager_other-round-of-fixes-for-UPower-0.99-API-changes.patch218
-rw-r--r--mate-power-manager_port-to-upower-0.99-API.patch391
-rw-r--r--mate-power-manager_remove-battery-recall-logic.patch264
-rw-r--r--mate-power-manager_upower-remove-recall.patch117
-rw-r--r--mate-power-manager_upower-update-for-libupower-glib-API-changes.patch34
-rw-r--r--mate-power-manager_upower-use-g_signal-notify.patch438
-rw-r--r--mate-power-manager_upower.patch137
12 files changed, 1163 insertions, 748 deletions
diff --git a/mate-power-manager.spec b/mate-power-manager.spec
index 0f33376..ef3fb2a 100644
--- a/mate-power-manager.spec
+++ b/mate-power-manager.spec
@@ -7,17 +7,18 @@ Summary: MATE power management service
Summary(pl.UTF-8): Usługa zarządzania energią dla MATE
Name: mate-power-manager
Version: 1.8.0
-Release: 2
+Release: 3
License: GPL v2+
Group: X11/Applications
Source0: http://pub.mate-desktop.org/releases/1.8/%{name}-%{version}.tar.xz
# Source0-md5: 09688f0422adce20de79f17d2f7a07b0
-Patch0: uidir.patch
-Patch1: mate-power-manager_upower.patch
-Patch2: mate-power-manager_upower-remove-recall.patch
-Patch3: mate-power-manager_upower-use-g_signal-notify.patch
-Patch4: mate-power-manager_upower-update-for-libupower-glib-API-changes.patch
-Patch5: mate-power-manager_fix-use-g_signal-notify.patch
+Patch10: uidir.patch
+Patch0: %{name}_dbus_interface_keyboard_backlight_controls.patch
+Patch1: %{name}_avoid-levels-is-0-warning.patch
+Patch2: %{name}_remove-battery-recall-logic.patch
+Patch3: %{name}_port-to-upower-0.99-API.patch
+Patch4: %{name}_improve-UPower1-support.patch
+Patch5: %{name}_other-round-of-fixes-for-UPower-0.99-API-changes.patch
URL: http://wiki.mate-desktop.org/mate-power-manager
BuildRequires: autoconf >= 2.63
BuildRequires: automake >= 1:1.9
@@ -83,6 +84,7 @@ interaktywnej sesji MATE.
%prep
%setup -q
+%patch10 -p1
%patch0 -p1
%patch1 -p1
%patch2 -p1
diff --git a/mate-power-manager_avoid-levels-is-0-warning.patch b/mate-power-manager_avoid-levels-is-0-warning.patch
new file mode 100644
index 0000000..6aaee76
--- /dev/null
+++ b/mate-power-manager_avoid-levels-is-0-warning.patch
@@ -0,0 +1,16 @@
+# https://github.com/mate-desktop/mate-power-manager/commit/2b3cf01
+diff --git a/src/gpm-kbd-backlight.c b/src/gpm-kbd-backlight.c
+index 0ac6801..a439e94 100644
+--- a/src/gpm-kbd-backlight.c
++++ b/src/gpm-kbd-backlight.c
+@@ -113,6 +113,9 @@ gpm_kbd_backlight_set (GpmKbdBacklight *backlight,
+ guint goal;
+
+ g_return_val_if_fail (GPM_IS_KBD_BACKLIGHT (backlight), FALSE);
++ /* avoid warnings if no keyboard brightness is available */
++ if (backlight->priv->max_brightness < 1)
++ return FALSE;
+ /* if we're setting the same we are, don't bother */
+ //g_return_val_if_fail (backlight->priv->brightness_percent != percentage, FALSE);
+
+
diff --git a/mate-power-manager_dbus_interface_keyboard_backlight_controls.patch b/mate-power-manager_dbus_interface_keyboard_backlight_controls.patch
new file mode 100644
index 0000000..416d752
--- /dev/null
+++ b/mate-power-manager_dbus_interface_keyboard_backlight_controls.patch
@@ -0,0 +1,162 @@
+# upstream patch
+# https://github.com/mate-desktop/mate-power-manager/commit/8cb168b
+diff -uprN mate-power-manager-orig/src/gpm-common.h mate-power-manager/src/gpm-common.h
+--- mate-power-manager-orig/src/gpm-common.h 2013-10-03 13:56:55.000000000 +0200
++++ mate-power-manager/src/gpm-common.h 2013-10-13 19:54:10.649901214 +0200
+@@ -33,6 +33,7 @@ G_BEGIN_DECLS
+ #define GPM_DBUS_SERVICE "org.mate.PowerManager"
+ #define GPM_DBUS_INTERFACE "org.mate.PowerManager"
+ #define GPM_DBUS_INTERFACE_BACKLIGHT "org.mate.PowerManager.Backlight"
++#define GPM_DBUS_INTERFACE_KBD_BACKLIGHT "org.mate.PowerManager.KbdBacklight"
+ #define GPM_DBUS_PATH "/org/mate/PowerManager"
+ #define GPM_DBUS_PATH_BACKLIGHT "/org/mate/PowerManager/Backlight"
+ #define GPM_DBUS_PATH_KBD_BACKLIGHT "/org/mate/PowerManager/KbdBacklight"
+diff -uprN mate-power-manager-orig/src/gpm-kbd-backlight.c mate-power-manager/src/gpm-kbd-backlight.c
+--- mate-power-manager-orig/src/gpm-kbd-backlight.c 2013-10-03 13:56:55.000000000 +0200
++++ mate-power-manager/src/gpm-kbd-backlight.c 2013-10-13 19:58:07.154258855 +0200
+@@ -31,21 +31,6 @@
+ #include "gpm-kbd-backlight.h"
+ #include "gsd-media-keys-window.h"
+
+-static const gchar *kbd_backlight_introspection = ""
+-"<?xml version=\"1.0\" encoding=\"UTF-8\"?>""<node name=\"/\">"
+- "<interface name=\"org.mate.PowerManager.Backlight\">"
+- "<method name=\"GetBrightness\">"
+- "<arg type=\"u\" name=\"percentage_brightness\" direction=\"out\"/>"
+- "</method>"
+- "<method name=\"SetBrightness\">"
+- "<arg type=\"u\" name=\"percentage_brightness\" direction=\"in\"/>"
+- "</method>"
+- "<signal name=\"BrightnessChanged\">"
+- "<arg type=\"u\" name=\"percentage_brightness\" direction=\"out\"/>"
+- "</signal>"
+- "</interface>"
+-"</node>";
+-
+ #define GPM_KBD_BACKLIGHT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GPM_TYPE_KBD_BACKLIGHT, GpmKbdBacklightPrivate))
+
+ struct GpmKbdBacklightPrivate
+@@ -430,40 +415,6 @@ gpm_kbd_backlight_dbus_property_set (GDB
+ return FALSE;
+ }
+
+-/**
+- * gpm_kbd_backlight_register_dbus:
+- * @backlight:
+- * @connection:
+- * @error:
+- **/
+-void
+-gpm_kbd_backlight_register_dbus (GpmKbdBacklight *backlight,
+- GDBusConnection *connection,
+- GError **error)
+-{
+- GDBusNodeInfo *node_info;
+- GDBusInterfaceInfo *interface_info;
+- GDBusInterfaceVTable interface_vtable = {
+- gpm_kbd_backlight_dbus_method_call,
+- gpm_kbd_backlight_dbus_property_get,
+- gpm_kbd_backlight_dbus_property_set
+- };
+-
+- node_info = g_dbus_node_info_new_for_xml (kbd_backlight_introspection, NULL);
+- interface_info = g_dbus_node_info_lookup_interface (node_info, GPM_DBUS_INTERFACE_BACKLIGHT);
+-
+- backlight->priv->bus_connection = g_object_ref (connection);
+- backlight->priv->bus_object_id =
+- g_dbus_connection_register_object (connection,
+- GPM_DBUS_PATH_KBD_BACKLIGHT,
+- interface_info,
+- &interface_vtable,
+- backlight,
+- NULL,
+- error);
+- g_dbus_node_info_unref (node_info);
+-}
+-
+ static gboolean
+ gpm_kbd_backlight_evaluate_power_source_and_set (GpmKbdBacklight *backlight)
+ {
+diff -uprN mate-power-manager-orig/src/gpm-manager.c mate-power-manager/src/gpm-manager.c
+--- mate-power-manager-orig/src/gpm-manager.c 2013-10-03 13:56:55.000000000 +0200
++++ mate-power-manager/src/gpm-manager.c 2013-10-13 20:05:11.449488592 +0200
+@@ -63,6 +63,7 @@
+ #include "gpm-disks.h"
+
+ #include "org.mate.PowerManager.Backlight.h"
++#include "org.mate.PowerManager.KbdBacklight.h"
+
+ static void gpm_manager_finalize (GObject *object);
+
+@@ -1986,12 +1987,13 @@ gpm_manager_init (GpmManager *manager)
+ G_OBJECT (manager->priv->backlight));
+ }
+
+- manager->priv->kbd_backlight = gpm_kbd_backlight_new ();
+- if (manager->priv->kbd_backlight != NULL) {
+- gpm_kbd_backlight_register_dbus (manager->priv->kbd_backlight,
+- g_connection,
+- NULL);
+- }
++ manager->priv->kbd_backlight = gpm_kbd_backlight_new ();
++ if (manager->priv->kbd_backlight != NULL) {
++ dbus_g_object_type_install_info (GPM_TYPE_KBD_BACKLIGHT,
++ &dbus_glib_gpm_kbd_backlight_object_info);
++ dbus_g_connection_register_g_object (connection, GPM_DBUS_PATH_KBD_BACKLIGHT,
++ G_OBJECT (manager->priv->kbd_backlight));
++ }
+
+ manager->priv->idle = gpm_idle_new ();
+ g_signal_connect (manager->priv->idle, "idle-changed",
+diff -uprN mate-power-manager-orig/src/Makefile.am mate-power-manager/src/Makefile.am
+--- mate-power-manager-orig/src/Makefile.am 2013-10-03 13:56:55.000000000 +0200
++++ mate-power-manager/src/Makefile.am 2013-10-13 20:10:17.374533688 +0200
+@@ -6,6 +6,7 @@ NULL =
+ EXTRA_DIST = \
+ org.mate.PowerManager.xml \
+ org.mate.PowerManager.Backlight.xml \
++ org.mate.PowerManager.KbdBacklight.xml \
+ gpm-marshal.list \
+ $(NULL)
+
+@@ -270,6 +271,7 @@ endif
+ BUILT_SOURCES = \
+ org.mate.PowerManager.h \
+ org.mate.PowerManager.Backlight.h \
++ org.mate.PowerManager.KbdBacklight.h \
+ gpm-marshal.c \
+ gpm-marshal.h \
+ $(NULL)
+@@ -295,6 +297,13 @@ org.mate.PowerManager.Backlight.h: org.m
+ --output=org.mate.PowerManager.Backlight.h \
+ $(srcdir)/org.mate.PowerManager.Backlight.xml
+
++org.mate.PowerManager.KbdBacklight.h: org.mate.PowerManager.KbdBacklight.xml
++ libtool --mode=execute dbus-binding-tool \
++ --prefix=gpm_kbd_backlight \
++ --mode=glib-server \
++ --output=org.mate.PowerManager.KbdBacklight.h \
++ $(srcdir)/org.mate.PowerManager.KbdBacklight.xml
++
+ clean-local:
+ rm -f *~
+ rm -f gpm-marshal.c gpm-marshal.h
+diff -uprN mate-power-manager-orig/src/org.mate.PowerManager.KbdBacklight.xml mate-power-manager/src/org.mate.PowerManager.KbdBacklight.xml
+--- mate-power-manager-orig/src/org.mate.PowerManager.KbdBacklight.xml 2013-10-13 20:12:11.556667787 +0200
++++ mate-power-manager/src/org.mate.PowerManager.KbdBacklight.xml 2013-10-13 20:11:45.972413654 +0200
+@@ -0,0 +1,15 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<node name="/">
++ <interface name="org.mate.PowerManager.KbdBacklight">
++ <method name="GetBrightness">
++ <arg type="u" name="percentage_brightness" direction="out"/>
++ </method>
++ <method name="SetBrightness">
++ <arg type="u" name="percentage_brightness" direction="in"/>
++ </method>
++ <signal name="BrightnessChanged">
++ <arg type="u" name="percentage_brightness" direction="out"/>
++ </signal>
++ </interface>
++</node>
++
diff --git a/mate-power-manager_fix-use-g_signal-notify.patch b/mate-power-manager_fix-use-g_signal-notify.patch
deleted file mode 100644
index 3458131..0000000
--- a/mate-power-manager_fix-use-g_signal-notify.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -upr mate-power-manager-orig/src/gpm-manager.c mate-power-manager-test/src/gpm-manager.c
---- mate-power-manager-orig/src/gpm-manager.c 2013-11-09 21:19:14.954669000 +0100
-+++ mate-power-manager-test/src/gpm-manager.c 2013-11-10 15:19:23.540948886 +0100
-@@ -972,9 +972,9 @@ gpm_manager_get_spindown_timeout (GpmMan
- **/
- static void
- #if UP_CHECK_VERSION(0, 99, 0)
--gpm_manager_client_changed_cb (UpClient *client, GpmManager *manager)
--#else
- gpm_manager_client_changed_cb (UpClient *client, GParamSpec *pspec, GpmManager *manager)
-+#else
-+gpm_manager_client_changed_cb (UpClient *client, GpmManager *manager)
- #endif
- {
- gboolean event_when_closed;
diff --git a/mate-power-manager_improve-UPower1-support.patch b/mate-power-manager_improve-UPower1-support.patch
new file mode 100644
index 0000000..a2d2093
--- /dev/null
+++ b/mate-power-manager_improve-UPower1-support.patch
@@ -0,0 +1,103 @@
+# https://github.com/mate-desktop/mate-power-manager/commit/1fb2870
+diff --git a/src/gpm-engine.c b/src/gpm-engine.c
+index e6c6bf2..fe458e3 100644
+--- a/src/gpm-engine.c
++++ b/src/gpm-engine.c
+@@ -82,6 +82,9 @@ G_DEFINE_TYPE (GpmEngine, gpm_engine, G_TYPE_OBJECT)
+
+ static UpDevice *gpm_engine_get_composite_device (GpmEngine *engine, UpDevice *original_device);
+ static UpDevice *gpm_engine_update_composite_device (GpmEngine *engine, UpDevice *original_device);
++#if UP_CHECK_VERSION (0, 99, 0)
++static void gpm_engine_device_changed_cb (UpDevice *device, GParamSpec *pspec, GpmEngine *engine);
++#endif
+
+ typedef enum {
+ GPM_ENGINE_WARNING_NONE = 0,
+@@ -757,6 +760,13 @@ gpm_engine_device_add (GpmEngine *engine, UpDevice *device)
+ g_object_get (composite, "state", &state, NULL);
+ g_object_set_data (G_OBJECT(composite), "engine-state-old", GUINT_TO_POINTER(state));
+ }
++
++#if UP_CHECK_VERSION (0, 99, 0)
++ if (kind == UP_DEVICE_KIND_BATTERY || kind == UP_DEVICE_KIND_UPS || kind == UP_DEVICE_KIND_LINE_POWER)
++ return;
++ g_signal_connect (device, "notify", G_CALLBACK (gpm_engine_device_changed_cb), engine);
++#endif
++
+ }
+
+ /**
+@@ -851,19 +861,20 @@ gpm_engine_device_removed_cb (UpClient *client, UpDevice *device, GpmEngine *eng
+ **/
+ static void
+ #if UP_CHECK_VERSION(0, 99, 0)
+-gpm_engine_device_changed_cb (UpClient *client, GParamSpec *pspec, GpmEngine *engine)
+-{
+- gpm_engine_recalculate_state (engine);
+-}
++gpm_engine_device_changed_cb (UpDevice *device, GParamSpec *pspec, GpmEngine *engine)
+ #else
+ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine *engine)
++#endif
+ {
++#if !UP_CHECK_VERSION(0, 99, 0)
+ UpDeviceKind kind;
++#endif
+ UpDeviceState state;
+ UpDeviceState state_old;
+ GpmEngineWarning warning_old;
+ GpmEngineWarning warning;
+
++#if !UP_CHECK_VERSION(0, 99, 0)
+ /* get device properties */
+ g_object_get (device,
+ "kind", &kind,
+@@ -874,6 +885,7 @@ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine *eng
+ egg_debug ("updating because %s changed", up_device_get_object_path (device));
+ device = gpm_engine_update_composite_device (engine, device);
+ }
++#endif
+
+ /* get device properties (may be composite) */
+ g_object_get (device,
+@@ -917,7 +929,6 @@ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine *eng
+
+ gpm_engine_recalculate_state (engine);
+ }
+-#endif
+
+ /**
+ * gpm_engine_get_devices:
+@@ -1042,10 +1053,7 @@ gpm_engine_init (GpmEngine *engine)
+ G_CALLBACK (gpm_engine_device_added_cb), engine);
+ g_signal_connect (engine->priv->client, "device-removed",
+ G_CALLBACK (gpm_engine_device_removed_cb), engine);
+-#if UP_CHECK_VERSION(0, 99, 0)
+- g_signal_connect (engine->priv->client, "notify",
+- G_CALLBACK (gpm_engine_device_changed_cb), engine);
+-#else
++#if !UP_CHECK_VERSION(0, 99, 0)
+ g_signal_connect (engine->priv->client, "device-changed",
+ G_CALLBACK (gpm_engine_device_changed_cb), engine);
+ #endif
+@@ -1075,6 +1083,11 @@ gpm_engine_init (GpmEngine *engine)
+ #endif
+
+ /* create a fake virtual composite battery */
++#if UP_CHECK_VERSION(0, 99, 0)
++ engine->priv->battery_composite = up_client_get_display_device (engine->priv->client);
++ g_signal_connect (engine->priv->client, "notify",
++ G_CALLBACK (gpm_engine_device_changed_cb), engine);
++#else
+ engine->priv->battery_composite = up_device_new ();
+ g_object_set (engine->priv->battery_composite,
+ "kind", UP_DEVICE_KIND_BATTERY,
+@@ -1083,6 +1096,7 @@ gpm_engine_init (GpmEngine *engine)
+ "power-supply", TRUE,
+ "is-present", TRUE,
+ NULL);
++#endif
+
+ engine->priv->previous_icon = NULL;
+ engine->priv->previous_summary = NULL;
+
diff --git a/mate-power-manager_other-round-of-fixes-for-UPower-0.99-API-changes.patch b/mate-power-manager_other-round-of-fixes-for-UPower-0.99-API-changes.patch
new file mode 100644
index 0000000..affd5c6
--- /dev/null
+++ b/mate-power-manager_other-round-of-fixes-for-UPower-0.99-API-changes.patch
@@ -0,0 +1,218 @@
+# https://github.com/mate-desktop/mate-power-manager/commit/8f734c6
+diff --git a/src/gpm-engine.c b/src/gpm-engine.c
+index fe458e3..56d19e2 100644
+--- a/src/gpm-engine.c
++++ b/src/gpm-engine.c
+@@ -84,7 +84,29 @@ static UpDevice *gpm_engine_get_composite_device (GpmEngine *engine, UpDevice *o
+ static UpDevice *gpm_engine_update_composite_device (GpmEngine *engine, UpDevice *original_device);
+ #if UP_CHECK_VERSION (0, 99, 0)
+ static void gpm_engine_device_changed_cb (UpDevice *device, GParamSpec *pspec, GpmEngine *engine);
+-#endif
++
++#define GPM_ENGINE_WARNING_NONE UP_DEVICE_LEVEL_NONE
++#define GPM_ENGINE_WARNING_DISCHARGING UP_DEVICE_LEVEL_DISCHARGING
++#define GPM_ENGINE_WARNING_LOW UP_DEVICE_LEVEL_LOW
++#define GPM_ENGINE_WARNING_CRITICAL UP_DEVICE_LEVEL_CRITICAL
++#define GPM_ENGINE_WARNING_ACTION UP_DEVICE_LEVEL_ACTION
++
++/**
++ * gpm_engine_get_warning:
++ *
++ * This gets the possible engine state for the device according to the
++ * policy, which could be per-percent, or per-time.
++ *
++ * Return value: A GpmEngine state, e.g. GPM_ENGINE_WARNING_DISCHARGING
++ **/
++static UpDeviceLevel
++gpm_engine_get_warning (GpmEngine *engine, UpDevice *device)
++{
++ UpDeviceLevel warning;
++ g_object_get (device, "warning-level", &warning, NULL);
++ return warning;
++}
++#else
+
+ typedef enum {
+ GPM_ENGINE_WARNING_NONE = 0,
+@@ -226,6 +248,7 @@ gpm_engine_get_warning (GpmEngine *engine, UpDevice *device)
+ out:
+ return warning_type;
+ }
++#endif
+
+ /**
+ * gpm_engine_get_summary:
+@@ -282,12 +305,20 @@ gpm_engine_get_summary (GpmEngine *engine)
+ * Returns the icon
+ **/
+ static gchar *
++#if UP_CHECK_VERSION (0, 99, 0)
++gpm_engine_get_icon_priv (GpmEngine *engine, UpDeviceKind device_kind, UpDeviceLevel warning, gboolean use_state)
++#else
+ gpm_engine_get_icon_priv (GpmEngine *engine, UpDeviceKind device_kind, GpmEngineWarning warning, gboolean use_state)
++#endif
+ {
+ guint i;
+ GPtrArray *array;
+ UpDevice *device;
++#if UP_CHECK_VERSION (0, 99, 0)
++ UpDeviceLevel warning_temp;
++#else
+ GpmEngineWarning warning_temp;
++#endif
+ UpDeviceKind kind;
+ UpDeviceState state;
+ gboolean is_present;
+@@ -572,6 +603,9 @@ gpm_engine_device_check_capacity (GpmEngine *engine, UpDevice *device)
+ static UpDevice *
+ gpm_engine_get_composite_device (GpmEngine *engine, UpDevice *original_device)
+ {
++#if UP_CHECK_VERSION (0, 99, 0)
++ return engine->priv->battery_composite;
++#else
+ guint battery_devices = 0;
+ GPtrArray *array;
+ UpDevice *device;
+@@ -601,6 +635,7 @@ gpm_engine_get_composite_device (GpmEngine *engine, UpDevice *original_device)
+ out:
+ /* return composite device or original device */
+ return device;
++#endif
+ }
+
+ /**
+@@ -609,6 +644,18 @@ gpm_engine_get_composite_device (GpmEngine *engine, UpDevice *original_device)
+ static UpDevice *
+ gpm_engine_update_composite_device (GpmEngine *engine, UpDevice *original_device)
+ {
++#if UP_CHECK_VERSION (0, 99, 0)
++ gchar *text;
++
++ text = up_device_to_text (engine->priv->battery_composite);
++ egg_debug ("composite:\n%s", text);
++ g_free (text);
++
++ /* force update of icon */
++ gpm_engine_recalculate_state_icon (engine);
++
++ return engine->priv->battery_composite;
++#else
+ guint i;
+ gdouble percentage = 0.0;
+ gdouble energy = 0.0;
+@@ -720,6 +767,7 @@ gpm_engine_update_composite_device (GpmEngine *engine, UpDevice *original_device
+ out:
+ /* return composite device or original device */
+ return device;
++#endif
+ }
+
+ /**
+@@ -728,7 +776,11 @@ gpm_engine_update_composite_device (GpmEngine *engine, UpDevice *original_device
+ static void
+ gpm_engine_device_add (GpmEngine *engine, UpDevice *device)
+ {
++#if UP_CHECK_VERSION (0, 99, 0)
++ UpDeviceLevel warning;
++#else
+ GpmEngineWarning warning;
++#endif
+ UpDeviceState state;
+ UpDeviceKind kind;
+ UpDevice *composite;
+@@ -762,9 +814,9 @@ gpm_engine_device_add (GpmEngine *engine, UpDevice *device)
+ }
+
+ #if UP_CHECK_VERSION (0, 99, 0)
+- if (kind == UP_DEVICE_KIND_BATTERY || kind == UP_DEVICE_KIND_UPS || kind == UP_DEVICE_KIND_LINE_POWER)
+- return;
+ g_signal_connect (device, "notify", G_CALLBACK (gpm_engine_device_changed_cb), engine);
++ g_ptr_array_add (engine->priv->array, g_object_ref (device));
++ gpm_engine_recalculate_state (engine);
+ #endif
+
+ }
+@@ -820,10 +872,14 @@ gpm_engine_coldplug_idle_cb (GpmEngine *engine)
+ static void
+ gpm_engine_device_added_cb (UpClient *client, UpDevice *device, GpmEngine *engine)
+ {
++#if UP_CHECK_VERSION (0, 99, 0)
++ gpm_engine_device_add (engine, device);
++#else
+ /* add to list */
+ g_ptr_array_add (engine->priv->array, g_object_ref (device));
+
+ gpm_engine_recalculate_state (engine);
++#endif
+ }
+
+ /**
+@@ -866,15 +922,17 @@ gpm_engine_device_changed_cb (UpDevice *device, GParamSpec *pspec, GpmEngine *en
+ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine *engine)
+ #endif
+ {
+-#if !UP_CHECK_VERSION(0, 99, 0)
+ UpDeviceKind kind;
+-#endif
+ UpDeviceState state;
+ UpDeviceState state_old;
++#if UP_CHECK_VERSION(0, 99, 0)
++ UpDeviceLevel warning_old;
++ UpDeviceLevel warning;
++#else
+ GpmEngineWarning warning_old;
+ GpmEngineWarning warning;
++#endif
+
+-#if !UP_CHECK_VERSION(0, 99, 0)
+ /* get device properties */
+ g_object_get (device,
+ "kind", &kind,
+@@ -885,7 +943,6 @@ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine *eng
+ egg_debug ("updating because %s changed", up_device_get_object_path (device));
+ device = gpm_engine_update_composite_device (engine, device);
+ }
+-#endif
+
+ /* get device properties (may be composite) */
+ g_object_get (device,
+@@ -1070,22 +1127,10 @@ gpm_engine_init (GpmEngine *engine)
+ g_signal_connect (engine->priv->phone, "device-refresh",
+ G_CALLBACK (phone_device_refresh_cb), engine);
+
+-#if UP_CHECK_VERSION(0, 99, 0)
+- /* coldplug */
+- array = up_client_get_devices(engine->priv->client);
+- if (array) {
+- for (i = 0; i < array->len; i++) {
+- UpDevice *device = g_ptr_array_index (array, i);
+- gpm_engine_device_added_cb(engine->priv->client, device, engine);
+- }
+- g_ptr_array_free (array, TRUE);
+- }
+-#endif
+-
+ /* create a fake virtual composite battery */
+ #if UP_CHECK_VERSION(0, 99, 0)
+ engine->priv->battery_composite = up_client_get_display_device (engine->priv->client);
+- g_signal_connect (engine->priv->client, "notify",
++ g_signal_connect (engine->priv->battery_composite, "notify",
+ G_CALLBACK (gpm_engine_device_changed_cb), engine);
+ #else
+ engine->priv->battery_composite = up_device_new ();
+diff --git a/src/gpm-manager.c b/src/gpm-manager.c
+index df84cac..09bd0c0 100644
+--- a/src/gpm-manager.c
++++ b/src/gpm-manager.c
+@@ -1858,7 +1858,9 @@ gpm_manager_init (GpmManager *manager)
+ G_CALLBACK (gpm_manager_settings_changed_cb), manager);
+ manager->priv->client = up_client_new ();
+ #if UP_CHECK_VERSION(0, 99, 0)
+- g_signal_connect (manager->priv->client, "notify",
++ g_signal_connect (manager->priv->client, "notify::lid-is-closed",
++ G_CALLBACK (gpm_manager_client_changed_cb), manager);
++ g_signal_connect (manager->priv->client, "notify::on-battery",
+ G_CALLBACK (gpm_manager_client_changed_cb), manager);
+ #else
+ g_signal_connect (manager->priv->client, "changed",
+
diff --git a/mate-power-manager_port-to-upower-0.99-API.patch b/mate-power-manager_port-to-upower-0.99-API.patch
new file mode 100644
index 0000000..69fbe8d
--- /dev/null
+++ b/mate-power-manager_port-to-upower-0.99-API.patch
@@ -0,0 +1,391 @@
+# https://github.com/mate-desktop/mate-power-manager/commit/d59f4b8
+diff --git a/src/gpm-backlight.c b/src/gpm-backlight.c
+index 1f1d834..d2938a4 100644
+--- a/src/gpm-backlight.c
++++ b/src/gpm-backlight.c
+@@ -410,7 +410,11 @@ gpm_settings_key_changed_cb (GSettings *settings, const gchar *key, GpmBacklight
+ * Does the actions when the ac power source is inserted/removed.
+ **/
+ static void
++#if UP_CHECK_VERSION(0, 99, 0)
++gpm_backlight_client_changed_cb (UpClient *client, GParamSpec *pspec, GpmBacklight *backlight)
++#else
+ gpm_backlight_client_changed_cb (UpClient *client, GpmBacklight *backlight)
++#endif
+ {
+ gpm_backlight_brightness_evaluate_and_set (backlight, FALSE, TRUE);
+ }
+@@ -727,8 +731,13 @@ gpm_backlight_init (GpmBacklight *backlight)
+
+ /* we use up_client for the ac-adapter-changed signal */
+ backlight->priv->client = up_client_new ();
++#if UP_CHECK_VERSION(0, 99, 0)
++ g_signal_connect (backlight->priv->client, "notify",
++ G_CALLBACK (gpm_backlight_client_changed_cb), backlight);
++#else
+ g_signal_connect (backlight->priv->client, "changed",
+ G_CALLBACK (gpm_backlight_client_changed_cb), backlight);
++#endif
+
+ /* gets caps */
+ backlight->priv->can_dim = gpm_brightness_has_hw (backlight->priv->brightness);
+diff --git a/src/gpm-button.c b/src/gpm-button.c
+index 1e38173..b331cf6 100644
+--- a/src/gpm-button.c
++++ b/src/gpm-button.c
+@@ -324,7 +324,11 @@ gpm_button_reset_time (GpmButton *button)
+ * gpm_button_client_changed_cb
+ **/
+ static void
++#if UP_CHECK_VERSION(0, 99, 0)
++gpm_button_client_changed_cb (UpClient *client, GParamSpec *pspec, GpmButton *button)
++#else
+ gpm_button_client_changed_cb (UpClient *client, GpmButton *button)
++#endif
+ {
+ gboolean lid_is_closed;
+
+@@ -363,9 +367,13 @@ gpm_button_init (GpmButton *button)
+
+ button->priv->client = up_client_new ();
+ button->priv->lid_is_closed = up_client_get_lid_is_closed (button->priv->client);
++#if UP_CHECK_VERSION(0, 99, 0)
++ g_signal_connect (button->priv->client, "notify",
++ G_CALLBACK (gpm_button_client_changed_cb), button);
++#else
+ g_signal_connect (button->priv->client, "changed",
+ G_CALLBACK (gpm_button_client_changed_cb), button);
+-
++#endif
+ /* register the brightness keys */
+ gpm_button_xevent_key (button, XF86XK_PowerOff, GPM_BUTTON_POWER);
+ #ifdef HAVE_XF86XK_SUSPEND
+diff --git a/src/gpm-control.c b/src/gpm-control.c
+index ec50136..0562d38 100644
+--- a/src/gpm-control.c
++++ b/src/gpm-control.c
+@@ -289,10 +289,11 @@ gpm_control_suspend (GpmControl *control, GError **error)
+ }
+ g_object_unref(proxy);
+ }
++#if !UP_CHECK_VERSION(0, 99, 0)
+ else {
+ ret = up_client_suspend_sync (control->priv->client, NULL, error);
+ }
+-
++#endif
+ egg_debug ("emitting resume");
+ g_signal_emit (control, signals [RESUME], 0, GPM_CONTROL_ACTION_SUSPEND);
+
+@@ -399,10 +400,11 @@ gpm_control_hibernate (GpmControl *control, GError **error)
+ ret = TRUE;
+ }
+ }
++#if !UP_CHECK_VERSION(0, 99, 0)
+ else {
+ ret = up_client_hibernate_sync (control->priv->client, NULL, error);
+ }
+-
++#endif
+ egg_debug ("emitting resume");
+ g_signal_emit (control, signals [RESUME], 0, GPM_CONTROL_ACTION_HIBERNATE);
+
+diff --git a/src/gpm-engine.c b/src/gpm-engine.c
+index 96a043e..e6c6bf2 100644
+--- a/src/gpm-engine.c
++++ b/src/gpm-engine.c
+@@ -768,12 +768,14 @@ gpm_engine_coldplug_idle_cb (GpmEngine *engine)
+ guint i;
+ GPtrArray *array = NULL;
+ UpDevice *device;
++#if !UP_CHECK_VERSION(0, 99, 0)
+ gboolean ret;
+ GError *error = NULL;
++#endif
+
+ g_return_val_if_fail (engine != NULL, FALSE);
+ g_return_val_if_fail (GPM_IS_ENGINE (engine), FALSE);
+-
++#if !UP_CHECK_VERSION(0, 99, 0)
+ /* get devices from UPower */
+ ret = up_client_enumerate_devices_sync (engine->priv->client, NULL, &error);
+ if (!ret) {
+@@ -781,7 +783,7 @@ gpm_engine_coldplug_idle_cb (GpmEngine *engine)
+ g_error_free (error);
+ goto out;
+ }
+-
++#endif
+ /* connected mobile phones */
+ gpm_phone_coldplug (engine->priv->phone);
+
+@@ -793,7 +795,9 @@ gpm_engine_coldplug_idle_cb (GpmEngine *engine)
+ device = g_ptr_array_index (array, i);
+ gpm_engine_device_add (engine, device);
+ }
++#if !UP_CHECK_VERSION(0, 99, 0)
+ out:
++#endif
+ if (array != NULL)
+ g_ptr_array_unref (array);
+ /* never repeat */
+@@ -816,6 +820,22 @@ gpm_engine_device_added_cb (UpClient *client, UpDevice *device, GpmEngine *engin
+ * gpm_engine_device_removed_cb:
+ **/
+ static void
++#if UP_CHECK_VERSION(0, 99, 0)
++gpm_engine_device_removed_cb (UpClient *client, const char *object_path, GpmEngine *engine)
++{
++ guint i;
++
++ for (i = 0; i < engine->priv->array->len; i++) {
++ UpDevice *device = g_ptr_array_index (engine->priv->array, i);
++
++ if (g_strcmp0 (object_path, up_device_get_object_path (device)) == 0) {
++ g_ptr_array_remove_index (engine->priv->array, i);
++ break;
++ }
++ }
++ gpm_engine_recalculate_state (engine);
++}
++#else
+ gpm_engine_device_removed_cb (UpClient *client, UpDevice *device, GpmEngine *engine)
+ {
+ gboolean ret;
+@@ -824,12 +844,18 @@ gpm_engine_device_removed_cb (UpClient *client, UpDevice *device, GpmEngine *eng
+ return;
+ gpm_engine_recalculate_state (engine);
+ }
+-
++#endif
+
+ /**
+ * gpm_engine_device_changed_cb:
+ **/
+ static void
++#if UP_CHECK_VERSION(0, 99, 0)
++gpm_engine_device_changed_cb (UpClient *client, GParamSpec *pspec, GpmEngine *engine)
++{
++ gpm_engine_recalculate_state (engine);
++}
++#else
+ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine *engine)
+ {
+ UpDeviceKind kind;
+@@ -891,6 +917,7 @@ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine *eng
+
+ gpm_engine_recalculate_state (engine);
+ }
++#endif
+
+ /**
+ * gpm_engine_get_devices:
+@@ -1003,7 +1030,10 @@ phone_device_refresh_cb (GpmPhone *phone, guint idx, GpmEngine *engine)
+ static void
+ gpm_engine_init (GpmEngine *engine)
+ {
+-
++#if UP_CHECK_VERSION(0, 99, 0)
++ GPtrArray *array = NULL;
++ guint i;
++#endif
+ engine->priv = GPM_ENGINE_GET_PRIVATE (engine);
+
+ engine->priv->array = g_ptr_array_new_with_free_func (g_object_unref);
+@@ -1012,8 +1042,13 @@ gpm_engine_init (GpmEngine *engine)
+ G_CALLBACK (gpm_engine_device_added_cb), engine);
+ g_signal_connect (engine->priv->client, "device-removed",
+ G_CALLBACK (gpm_engine_device_removed_cb), engine);
++#if UP_CHECK_VERSION(0, 99, 0)
++ g_signal_connect (engine->priv->client, "notify",
++ G_CALLBACK (gpm_engine_device_changed_cb), engine);
++#else
+ g_signal_connect (engine->priv->client, "device-changed",
+ G_CALLBACK (gpm_engine_device_changed_cb), engine);
++#endif
+
+ engine->priv->settings = g_settings_new (GPM_SETTINGS_SCHEMA);
+ g_signal_connect (engine->priv->settings, "changed",
+@@ -1027,6 +1062,18 @@ gpm_engine_init (GpmEngine *engine)
+ g_signal_connect (engine->priv->phone, "device-refresh",
+ G_CALLBACK (phone_device_refresh_cb), engine);
+
++#if UP_CHECK_VERSION(0, 99, 0)
++ /* coldplug */
++ array = up_client_get_devices(engine->priv->client);
++ if (array) {
++ for (i = 0; i < array->len; i++) {
++ UpDevice *device = g_ptr_array_index (array, i);
++ gpm_engine_device_added_cb(engine->priv->client, device, engine);
++ }
++ g_ptr_array_free (array, TRUE);
++ }
++#endif
++
+ /* create a fake virtual composite battery */
+ engine->priv->battery_composite = up_device_new ();
+ g_object_set (engine->priv->battery_composite,
+diff --git a/src/gpm-kbd-backlight.c b/src/gpm-kbd-backlight.c
+index a439e94..3a0f6e6 100644
+--- a/src/gpm-kbd-backlight.c
++++ b/src/gpm-kbd-backlight.c
+@@ -486,6 +486,9 @@ gpm_kbd_backlight_control_resume_cb (GpmControl *control,
+ **/
+ static void
+ gpm_kbd_backlight_client_changed_cb (UpClient *client,
++#if UP_CHECK_VERSION(0, 99, 0)
++ GParamSpec *pspec,
++#endif
+ GpmKbdBacklight *backlight)
+ {
+ gpm_kbd_backlight_evaluate_power_source_and_set (backlight);
+@@ -755,8 +758,13 @@ gpm_kbd_backlight_init (GpmKbdBacklight *backlight)
+
+ /* Use upower for ac changed signal */
+ backlight->priv->client = up_client_new ();
++#if UP_CHECK_VERSION(0, 99, 0)
++ g_signal_connect (backlight->priv->client, "notify",
++ G_CALLBACK (gpm_kbd_backlight_client_changed_cb), backlight);
++#else
+ g_signal_connect (backlight->priv->client, "changed",
+ G_CALLBACK (gpm_kbd_backlight_client_changed_cb), backlight);
++#endif
+
+ backlight->priv->settings = g_settings_new (GPM_SETTINGS_SCHEMA);
+ //g_signal_connect (backlight->priv->settings, "changed", G_CALLBACK (gpm_settings_key_changed_cb), backlight);
+diff --git a/src/gpm-manager.c b/src/gpm-manager.c
+index c4d0530..df84cac 100644
+--- a/src/gpm-manager.c
++++ b/src/gpm-manager.c
+@@ -971,7 +971,11 @@ gpm_manager_get_spindown_timeout (GpmManager *manager)
+ * gpm_manager_client_changed_cb:
+ **/
+ static void
++#if UP_CHECK_VERSION(0, 99, 0)
++gpm_manager_client_changed_cb (UpClient *client, GParamSpec *pspec, GpmManager *manager)
++#else
+ gpm_manager_client_changed_cb (UpClient *client, GpmManager *manager)
++#endif
+ {
+ gboolean event_when_closed;
+ gint timeout;
+@@ -1853,8 +1857,13 @@ gpm_manager_init (GpmManager *manager)
+ g_signal_connect (manager->priv->settings, "changed",
+ G_CALLBACK (gpm_manager_settings_changed_cb), manager);
+ manager->priv->client = up_client_new ();
++#if UP_CHECK_VERSION(0, 99, 0)
++ g_signal_connect (manager->priv->client, "notify",
++ G_CALLBACK (gpm_manager_client_changed_cb), manager);
++#else
+ g_signal_connect (manager->priv->client, "changed",
+ G_CALLBACK (gpm_manager_client_changed_cb), manager);
++#endif
+
+ /* use libmatenotify */
+ notify_init (GPM_NAME);
+diff --git a/src/gpm-prefs-core.c b/src/gpm-prefs-core.c
+index 7a2662d..6abb792 100644
+--- a/src/gpm-prefs-core.c
++++ b/src/gpm-prefs-core.c
+@@ -811,7 +811,9 @@ gpm_prefs_init (GpmPrefs *prefs)
+ UpDevice *device;
+ UpDeviceKind kind;
+ GpmBrightness *brightness;
++#if !UP_CHECK_VERSION(0, 99, 0)
+ gboolean ret;
++#endif
+ guint i;
+
+ GDBusProxy *proxy;
+@@ -897,9 +899,11 @@ gpm_prefs_init (GpmPrefs *prefs)
+ else {
+ /* are we allowed to shutdown? */
+ egg_console_kit_can_stop (prefs->priv->console, &prefs->priv->can_shutdown, NULL);
++#if !UP_CHECK_VERSION(0, 99, 0)
+ /* get values from UpClient */
+ prefs->priv->can_suspend = up_client_get_can_suspend (prefs->priv->client);
+ prefs->priv->can_hibernate = up_client_get_can_hibernate (prefs->priv->client);
++#endif
+ }
+
+ if (LOGIND_RUNNING()) {
+@@ -953,14 +957,14 @@ gpm_prefs_init (GpmPrefs *prefs)
+ brightness = gpm_brightness_new ();
+ prefs->priv->has_lcd = gpm_brightness_has_hw (brightness);
+ g_object_unref (brightness);
+-
++#if !UP_CHECK_VERSION(0, 99, 0)
+ /* get device list */
+ ret = up_client_enumerate_devices_sync (prefs->priv->client, NULL, &error);
+ if (!ret) {
+ egg_warning ("failed to get device list: %s", error->message);
+ g_error_free (error);
+ }
+-
++#endif
+ devices = up_client_get_devices (prefs->priv->client);
+ for (i=0; i<devices->len; i++) {
+ device = g_ptr_array_index (devices, i);
+diff --git a/src/gpm-statistics.c b/src/gpm-statistics.c
+index 98b5632..13489dc 100644
+--- a/src/gpm-statistics.c
++++ b/src/gpm-statistics.c
+@@ -1236,6 +1236,12 @@ gpm_stats_device_added_cb (UpClient *client, UpDevice *device, gpointer user_dat
+ * gpm_stats_device_changed_cb:
+ **/
+ static void
++#if UP_CHECK_VERSION(0, 99, 0)
++gpm_stats_device_changed_cb (UpClient *client, GParamSpec *pspec, gpointer user_data)
++{
++ gpm_stats_button_update_ui();
++}
++#else
+ gpm_stats_device_changed_cb (UpClient *client, UpDevice *device, gpointer user_data)
+ {
+ const gchar *object_path;
+@@ -1246,6 +1252,7 @@ gpm_stats_device_changed_cb (UpClient *client, UpDevice *device, gpointer user_d
+ if (g_strcmp0 (current_device, object_path) == 0)
+ gpm_stats_update_info_data (device);
+ }
++#endif
+
+ /**
+ * gpm_stats_device_removed_cb:
+@@ -1794,11 +1801,12 @@ main (int argc, char *argv[])
+
+ wakeups = up_wakeups_new ();
+ g_signal_connect (wakeups, "data-changed", G_CALLBACK (gpm_stats_data_changed_cb), NULL);
+-
++#if !UP_CHECK_VERSION(0, 99, 0)
+ /* coldplug */
+ ret = up_client_enumerate_devices_sync (client, NULL, NULL);
+ if (!ret)
+ goto out;
++#endif
+ devices = up_client_get_devices (client);
+
+ /* add devices in visually pleasing order */
+@@ -1814,7 +1822,11 @@ main (int argc, char *argv[])
+ /* connect now the coldplug is done */
+ g_signal_connect (client, "device-added", G_CALLBACK (gpm_stats_device_added_cb), NULL);
+ g_signal_connect (client, "device-removed", G_CALLBACK (gpm_stats_device_removed_cb), NULL);
++#if UP_CHECK_VERSION(0, 99, 0)
++ g_signal_connect (client, "notify", G_CALLBACK (gpm_stats_device_changed_cb), NULL);
++#else
+ g_signal_connect (client, "device-changed", G_CALLBACK (gpm_stats_device_changed_cb), NULL);
++#endif
+
+ /* set current device */
+ if (devices->len > 0) {
+@@ -1854,8 +1866,9 @@ main (int argc, char *argv[])
+ gtk_widget_show (widget);
+
+ gtk_main ();
+-
++#if !UP_CHECK_VERSION(0, 99, 0)
+ out:
++#endif
+ g_object_unref (settings);
+ g_object_unref (client);
+ g_object_unref (wakeups);
+
diff --git a/mate-power-manager_remove-battery-recall-logic.patch b/mate-power-manager_remove-battery-recall-logic.patch
new file mode 100644
index 0000000..a287e72
--- /dev/null
+++ b/mate-power-manager_remove-battery-recall-logic.patch
@@ -0,0 +1,264 @@
+# https://github.com/mate-desktop/mate-power-manager/commit/220a4e0
+diff --git a/data/org.mate.power-manager.gschema.xml.in b/data/org.mate.power-manager.gschema.xml.in
+index adecce0..ca009b5 100644
+--- a/data/org.mate.power-manager.gschema.xml.in
++++ b/data/org.mate.power-manager.gschema.xml.in
+@@ -211,11 +211,6 @@
+ <_summary>Seconds of inactivity to spin down when on battery</_summary>
+ <_description>The number of seconds of inactivity to spin down the disks when on battery power.</_description>
+ </key>
+- <key name="notify-perhaps-recall" type="b">
+- <default>true</default>
+- <_summary>If we should show the recalled battery warning for a broken battery</_summary>
+- <_description>If we should show the recalled battery warning for a broken battery. Set this to false only if you know your battery is okay.</_description>
+- </key>
+ <key name="notify-low-capacity" type="b">
+ <default>true</default>
+ <_summary>If we should show the low capacity warning for a broken battery</_summary>
+diff --git a/src/gpm-common.h b/src/gpm-common.h
+index ef20f88..303bdd1 100644
+--- a/src/gpm-common.h
++++ b/src/gpm-common.h
+@@ -98,7 +98,6 @@ G_BEGIN_DECLS
+ #define GPM_SETTINGS_SPINDOWN_TIMEOUT_BATT "spindown-timeout-battery"
+
+ /* notify */
+-#define GPM_SETTINGS_NOTIFY_PERHAPS_RECALL "notify-perhaps-recall"
+ #define GPM_SETTINGS_NOTIFY_LOW_CAPACITY "notify-low-capacity"
+ #define GPM_SETTINGS_NOTIFY_DISCHARGING "notify-discharging"
+ #define GPM_SETTINGS_NOTIFY_FULLY_CHARGED "notify-fully-charged"
+diff --git a/src/gpm-engine.c b/src/gpm-engine.c
+index 0f9d0c1..96a043e 100644
+--- a/src/gpm-engine.c
++++ b/src/gpm-engine.c
+@@ -72,7 +72,6 @@ enum {
+ CHARGE_ACTION,
+ DISCHARGING,
+ LOW_CAPACITY,
+- PERHAPS_RECALL,
+ LAST_SIGNAL
+ };
+
+@@ -761,42 +760,6 @@ gpm_engine_device_add (GpmEngine *engine, UpDevice *device)
+ }
+
+ /**
+- * gpm_engine_check_recall:
+- **/
+-static gboolean
+-gpm_engine_check_recall (GpmEngine *engine, UpDevice *device)
+-{
+- UpDeviceKind kind;
+- gboolean recall_notice = FALSE;
+- gchar *recall_vendor = NULL;
+- gchar *recall_url = NULL;
+-
+- /* get device properties */
+- g_object_get (device,
+- "kind", &kind,
+- "recall-notice", &recall_notice,
+- "recall-vendor", &recall_vendor,
+- "recall-url", &recall_url,
+- NULL);
+-
+- /* not battery */
+- if (kind != UP_DEVICE_KIND_BATTERY)
+- goto out;
+-
+- /* no recall data */
+- if (!recall_notice)
+- goto out;
+-
+- /* emit signal for manager */
+- egg_debug ("** EMIT: perhaps-recall");
+- g_signal_emit (engine, signals [PERHAPS_RECALL], 0, device, recall_vendor, recall_url);
+-out:
+- g_free (recall_vendor);
+- g_free (recall_url);
+- return recall_notice;
+-}
+-
+-/**
+ * gpm_engine_coldplug_idle_cb:
+ **/
+ static gboolean
+@@ -829,7 +792,6 @@ gpm_engine_coldplug_idle_cb (GpmEngine *engine)
+ for (i=0;i<array->len;i++) {
+ device = g_ptr_array_index (array, i);
+ gpm_engine_device_add (engine, device);
+- gpm_engine_check_recall (engine, device);
+ }
+ out:
+ if (array != NULL)
+@@ -846,7 +808,6 @@ gpm_engine_device_added_cb (UpClient *client, UpDevice *device, GpmEngine *engin
+ {
+ /* add to list */
+ g_ptr_array_add (engine->priv->array, g_object_ref (device));
+- gpm_engine_check_recall (engine, device);
+
+ gpm_engine_recalculate_state (engine);
+ }
+@@ -1134,14 +1095,6 @@ gpm_engine_class_init (GpmEngineClass *klass)
+ G_STRUCT_OFFSET (GpmEngineClass, low_capacity),
+ NULL, NULL, g_cclosure_marshal_VOID__POINTER,
+ G_TYPE_NONE, 1, G_TYPE_POINTER);
+- signals [PERHAPS_RECALL] =
+- g_signal_new ("perhaps-recall",
+- G_TYPE_FROM_CLASS (object_class),
+- G_SIGNAL_RUN_LAST,
+- G_STRUCT_OFFSET (GpmEngineClass, perhaps_recall),
+- NULL, NULL, gpm_marshal_VOID__POINTER_STRING_STRING,
+- G_TYPE_NONE,
+- 3, G_TYPE_POINTER, G_TYPE_STRING, G_TYPE_STRING);
+ signals [FULLY_CHARGED] =
+ g_signal_new ("fully-charged",
+ G_TYPE_FROM_CLASS (object_class),
+diff --git a/src/gpm-engine.h b/src/gpm-engine.h
+index be1ccd6..43f8956 100644
+--- a/src/gpm-engine.h
++++ b/src/gpm-engine.h
+@@ -49,10 +49,6 @@ typedef struct
+ gchar *icon);
+ void (* summary_changed) (GpmEngine *engine,
+ gchar *status);
+- void (* perhaps_recall) (GpmEngine *engine,
+- UpDevice *device,
+- const gchar *oem_vendor,
+- const gchar *website);
+ void (* low_capacity) (GpmEngine *engine,
+ UpDevice *device);
+ void (* charge_low) (GpmEngine *engine,
+diff --git a/src/gpm-manager.c b/src/gpm-manager.c
+index 6ca9dea..c4d0530 100644
+--- a/src/gpm-manager.c
++++ b/src/gpm-manager.c
+@@ -68,7 +68,6 @@
+ static void gpm_manager_finalize (GObject *object);
+
+ #define GPM_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GPM_TYPE_MANAGER, GpmManagerPrivate))
+-#define GPM_MANAGER_RECALL_DELAY 30 /* seconds */
+ #define GPM_MANAGER_NOTIFY_TIMEOUT_NEVER 0 /* ms */
+ #define GPM_MANAGER_NOTIFY_TIMEOUT_SHORT 10 * 1000 /* ms */
+ #define GPM_MANAGER_NOTIFY_TIMEOUT_LONG 30 * 1000 /* ms */
+@@ -1092,111 +1091,6 @@ gpm_manager_settings_changed_cb (GSettings *settings, const gchar *key, GpmManag
+ }
+
+ /**
+- * gpm_manager_perhaps_recall_response_cb:
+- */
+-static void
+-gpm_manager_perhaps_recall_response_cb (GtkDialog *dialog, gint response_id, GpmManager *manager)
+-{
+- GdkScreen *screen;
+- GtkWidget *dialog_error;
+- GError *error = NULL;
+- gboolean ret;
+- const gchar *website;
+-
+- /* don't show this again */
+- if (response_id == GTK_RESPONSE_CANCEL) {
+- g_settings_set_boolean (manager->priv->settings, GPM_SETTINGS_NOTIFY_PERHAPS_RECALL, FALSE);
+- goto out;
+- }
+-
+- /* visit recall website */
+- if (response_id == GTK_RESPONSE_OK) {
+- screen = gdk_screen_get_default();
+- website = (const gchar *) g_object_get_data (G_OBJECT (manager), "recall-oem-website");
+- ret = gtk_show_uri (screen, website, gtk_get_current_event_time (), &error);
+- if (!ret) {
+- dialog_error = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK,
+- "Failed to show url %s", error->message);
+- gtk_dialog_run (GTK_DIALOG (dialog_error));
+- g_error_free (error);
+- }
+- goto out;
+- }
+-out:
+- gtk_widget_destroy (GTK_WIDGET (dialog));
+- return;
+-}
+-
+-/**
+- * gpm_manager_perhaps_recall_delay_cb:
+- */
+-static gboolean
+-gpm_manager_perhaps_recall_delay_cb (GpmManager *manager)
+-{
+- const gchar *oem_vendor;
+- gchar *title = NULL;
+- gchar *message = NULL;
+- GtkWidget *dialog;
+-
+- oem_vendor = (const gchar *) g_object_get_data (G_OBJECT (manager), "recall-oem-vendor");
+-
+- /* TRANSLATORS: the battery may be recalled by it's vendor */
+- title = g_strdup_printf ("%s: %s", GPM_NAME, _("Battery may be recalled"));
+- message = g_strdup_printf (_("A battery in your computer may have been "
+- "recalled by %s and you may be at risk.\n\n"
+- "For more information visit the battery recall website."), oem_vendor);
+- dialog = gtk_message_dialog_new_with_markup (NULL, GTK_DIALOG_DESTROY_WITH_PARENT,
+- GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE,
+- "<span size='larger'><b>%s</b></span>", title);
+-
+- gtk_message_dialog_format_secondary_markup (GTK_MESSAGE_DIALOG (dialog), "%s", message);
+-
+- /* TRANSLATORS: button text, visit the manufacturers recall website */
+- gtk_dialog_add_button (GTK_DIALOG (dialog), _("Visit recall website"), GTK_RESPONSE_OK);
+-
+- /* TRANSLATORS: button text, do not show this bubble again */
+- gtk_dialog_add_button (GTK_DIALOG (dialog), _("Do not show me this again"), GTK_RESPONSE_CANCEL);
+-
+- /* wait async for response */
+- gtk_widget_show (dialog);
+- g_signal_connect (dialog, "response", G_CALLBACK (gpm_manager_perhaps_recall_response_cb), manager);
+-
+- g_free (title);
+- g_free (message);
+-
+- /* never repeat */
+- return FALSE;
+-}
+-
+-/**
+- * gpm_manager_engine_perhaps_recall_cb:
+- */
+-static void
+-gpm_manager_engine_perhaps_recall_cb (GpmEngine *engine, UpDevice *device, gchar *oem_vendor, gchar *website, GpmManager *manager)
+-{
+- gboolean ret;
+-
+- /* don't show when running under GDM */
+- if (g_getenv ("RUNNING_UNDER_GDM") != NULL) {
+- egg_debug ("running under gdm, so no notification");
+- return;
+- }
+-
+- /* already shown, and dismissed */
+- ret = g_settings_get_boolean (manager->priv->settings, GPM_SETTINGS_NOTIFY_PERHAPS_RECALL);
+- if (!ret) {
+- egg_debug ("Gsettings prevents notification: %s", GPM_SETTINGS_NOTIFY_PERHAPS_RECALL);
+- return;
+- }
+-
+- g_object_set_data_full (G_OBJECT (manager), "recall-oem-vendor", (gpointer) g_strdup (oem_vendor), (GDestroyNotify) g_free);
+- g_object_set_data_full (G_OBJECT (manager), "recall-oem-website", (gpointer) g_strdup (website), (GDestroyNotify) g_free);
+-
+- /* delay by a few seconds so the panel can load */
+- g_timeout_add_seconds (GPM_MANAGER_RECALL_DELAY, (GSourceFunc) gpm_manager_perhaps_recall_delay_cb, manager);
+-}
+-
+-/**
+ * gpm_manager_engine_icon_changed_cb:
+ */
+ static void
+@@ -2023,8 +1917,6 @@ gpm_manager_init (GpmManager *manager)
+ gpm_manager_sync_policy_sleep (manager);
+
+ manager->priv->engine = gpm_engine_new ();
+- g_signal_connect (manager->priv->engine, "perhaps-recall",
+- G_CALLBACK (gpm_manager_engine_perhaps_recall_cb), manager);
+ g_signal_connect (manager->priv->engine, "low-capacity",
+ G_CALLBACK (gpm_manager_engine_low_capacity_cb), manager);
+ g_signal_connect (manager->priv->engine, "icon-changed",
+
diff --git a/mate-power-manager_upower-remove-recall.patch b/mate-power-manager_upower-remove-recall.patch
deleted file mode 100644
index 7270d7c..0000000
--- a/mate-power-manager_upower-remove-recall.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-diff -upr mate-power-manager-orig/data/org.mate.power-manager.gschema.xml.in mate-power-manager-test/data/org.mate.power-manager.gschema.xml.in
---- mate-power-manager-orig/data/org.mate.power-manager.gschema.xml.in 2013-10-21 11:01:49.245340000 +0200
-+++ mate-power-manager-test/data/org.mate.power-manager.gschema.xml.in 2013-11-09 01:00:37.801114147 +0100
-@@ -211,11 +211,6 @@
- <_summary>Seconds of inactivity to spin down when on battery</_summary>
- <_description>The number of seconds of inactivity to spin down the disks when on battery power.</_description>
- </key>
-- <key name="notify-perhaps-recall" type="b">
-- <default>true</default>
-- <_summary>If we should show the recalled battery warning for a broken battery</_summary>
-- <_description>If we should show the recalled battery warning for a broken battery. Set this to false only if you know your battery is okay.</_description>
-- </key>
- <key name="notify-low-capacity" type="b">
- <default>true</default>
- <_summary>If we should show the low capacity warning for a broken battery</_summary>
-diff -upr mate-power-manager-orig/src/gpm-engine.c mate-power-manager-test/src/gpm-engine.c
---- mate-power-manager-orig/src/gpm-engine.c 2013-11-08 22:45:52.333993000 +0100
-+++ mate-power-manager-test/src/gpm-engine.c 2013-11-08 23:06:27.444397476 +0100
-@@ -760,6 +760,7 @@ gpm_engine_device_add (GpmEngine *engine
- }
- }
-
-+#if !UP_CHECK_VERSION(0, 99, 0)
- /**
- * gpm_engine_check_recall:
- **/
-@@ -795,7 +796,7 @@ out:
- g_free (recall_url);
- return recall_notice;
- }
--
-+#endif
- /**
- * gpm_engine_coldplug_idle_cb:
- **/
-@@ -831,7 +832,9 @@ gpm_engine_coldplug_idle_cb (GpmEngine *
- for (i=0;i<array->len;i++) {
- device = g_ptr_array_index (array, i);
- gpm_engine_device_add (engine, device);
-+#if !UP_CHECK_VERSION(0, 99, 0)
- gpm_engine_check_recall (engine, device);
-+#endif
- }
- #if !UP_CHECK_VERSION(0, 99, 0)
- out:
-@@ -850,7 +853,9 @@ gpm_engine_device_added_cb (UpClient *cl
- {
- /* add to list */
- g_ptr_array_add (engine->priv->array, g_object_ref (device));
-+#if !UP_CHECK_VERSION(0, 99, 0)
- gpm_engine_check_recall (engine, device);
-+#endif
-
- gpm_engine_recalculate_state (engine);
- }
-@@ -1154,6 +1159,7 @@ gpm_engine_class_init (GpmEngineClass *k
- G_STRUCT_OFFSET (GpmEngineClass, low_capacity),
- NULL, NULL, g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1, G_TYPE_POINTER);
-+#if !UP_CHECK_VERSION(0, 99, 0)
- signals [PERHAPS_RECALL] =
- g_signal_new ("perhaps-recall",
- G_TYPE_FROM_CLASS (object_class),
-@@ -1162,6 +1168,7 @@ gpm_engine_class_init (GpmEngineClass *k
- NULL, NULL, gpm_marshal_VOID__POINTER_STRING_STRING,
- G_TYPE_NONE,
- 3, G_TYPE_POINTER, G_TYPE_STRING, G_TYPE_STRING);
-+#endif
- signals [FULLY_CHARGED] =
- g_signal_new ("fully-charged",
- G_TYPE_FROM_CLASS (object_class),
-diff -upr mate-power-manager-orig/src/gpm-engine.h mate-power-manager-test/src/gpm-engine.h
---- mate-power-manager-orig/src/gpm-engine.h 2013-10-14 22:33:51.547439000 +0200
-+++ mate-power-manager-test/src/gpm-engine.h 2013-11-08 22:59:05.547961683 +0100
-@@ -49,10 +49,12 @@ typedef struct
- gchar *icon);
- void (* summary_changed) (GpmEngine *engine,
- gchar *status);
-+#if !UP_CHECK_VERSION(0, 99, 0)
- void (* perhaps_recall) (GpmEngine *engine,
- UpDevice *device,
- const gchar *oem_vendor,
- const gchar *website);
-+#endif
- void (* low_capacity) (GpmEngine *engine,
- UpDevice *device);
- void (* charge_low) (GpmEngine *engine,
-diff -upr mate-power-manager-orig/src/gpm-manager.c mate-power-manager-test/src/gpm-manager.c
---- mate-power-manager-orig/src/gpm-manager.c 2013-10-14 22:33:51.549439000 +0200
-+++ mate-power-manager-test/src/gpm-manager.c 2013-11-08 23:02:10.741820700 +0100
-@@ -1090,6 +1090,7 @@ gpm_manager_settings_changed_cb (GSettin
- gpm_manager_sync_policy_sleep (manager);
- }
-
-+#if !UP_CHECK_VERSION(0, 99, 0)
- /**
- * gpm_manager_perhaps_recall_response_cb:
- */
-@@ -1194,6 +1195,7 @@ gpm_manager_engine_perhaps_recall_cb (Gp
- /* delay by a few seconds so the panel can load */
- g_timeout_add_seconds (GPM_MANAGER_RECALL_DELAY, (GSourceFunc) gpm_manager_perhaps_recall_delay_cb, manager);
- }
-+#endif
-
- /**
- * gpm_manager_engine_icon_changed_cb:
-@@ -2020,8 +2022,10 @@ gpm_manager_init (GpmManager *manager)
- gpm_manager_sync_policy_sleep (manager);
-
- manager->priv->engine = gpm_engine_new ();
-+#if !UP_CHECK_VERSION(0, 99, 0)
- g_signal_connect (manager->priv->engine, "perhaps-recall",
- G_CALLBACK (gpm_manager_engine_perhaps_recall_cb), manager);
-+#endif
- g_signal_connect (manager->priv->engine, "low-capacity",
- G_CALLBACK (gpm_manager_engine_low_capacity_cb), manager);
- g_signal_connect (manager->priv->engine, "icon-changed",
diff --git a/mate-power-manager_upower-update-for-libupower-glib-API-changes.patch b/mate-power-manager_upower-update-for-libupower-glib-API-changes.patch
deleted file mode 100644
index 8a2e003..0000000
--- a/mate-power-manager_upower-update-for-libupower-glib-API-changes.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -upr mate-power-manager-orig/src/gpm-engine.c mate-power-manager-test/src/gpm-engine.c
---- mate-power-manager-orig/src/gpm-engine.c 2013-11-09 21:19:14.952669000 +0100
-+++ mate-power-manager-test/src/gpm-engine.c 2013-11-09 22:45:14.729415620 +0100
-@@ -868,6 +868,21 @@ gpm_engine_device_added_cb (UpClient *cl
- * gpm_engine_device_removed_cb:
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_engine_device_removed_cb (UpClient *client, const char *object_path, GpmEngine *engine)
-+{
-+ guint i;
-+
-+ for (i = 0; i < engine->priv->array->len; i++) {
-+ UpDevice *device = g_ptr_array_index (engine->priv->array, i);
-+
-+ if (g_strcmp0 (object_path, up_device_get_object_path (device)) == 0) {
-+ g_ptr_array_remove_index (engine->priv->array, i);
-+ break;
-+ }
-+ }
-+}
-+#else
- gpm_engine_device_removed_cb (UpClient *client, UpDevice *device, GpmEngine *engine)
- {
- gboolean ret;
-@@ -876,7 +891,7 @@ gpm_engine_device_removed_cb (UpClient *
- return;
- gpm_engine_recalculate_state (engine);
- }
--
-+#endif
-
- /**
- * gpm_engine_device_changed_cb:
diff --git a/mate-power-manager_upower-use-g_signal-notify.patch b/mate-power-manager_upower-use-g_signal-notify.patch
deleted file mode 100644
index 367ffb4..0000000
--- a/mate-power-manager_upower-use-g_signal-notify.patch
+++ /dev/null
@@ -1,438 +0,0 @@
-diff -upr mate-power-manager-orig/src/gpm-backlight.c mate-power-manager-test/src/gpm-backlight.c
---- mate-power-manager-orig/src/gpm-backlight.c 2013-10-14 22:33:51.545439000 +0200
-+++ mate-power-manager-test/src/gpm-backlight.c 2013-11-09 18:32:28.473654040 +0100
-@@ -371,7 +371,11 @@ gpm_backlight_brightness_evaluate_and_se
- * We might have to do things when the keys change; do them here.
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_settings_key_changed_cb (GSettings *settings, const gchar *key, GParamSpec *pspec, GpmBacklight *backlight)
-+#else
- gpm_settings_key_changed_cb (GSettings *settings, const gchar *key, GpmBacklight *backlight)
-+#endif
- {
- gboolean on_battery;
-
-@@ -410,7 +414,11 @@ gpm_settings_key_changed_cb (GSettings *
- * Does the actions when the ac power source is inserted/removed.
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_backlight_client_changed_cb (UpClient *client, GParamSpec *pspec, GpmBacklight *backlight)
-+#else
- gpm_backlight_client_changed_cb (UpClient *client, GpmBacklight *backlight)
-+#endif
- {
- gpm_backlight_brightness_evaluate_and_set (backlight, FALSE, TRUE);
- }
-@@ -727,15 +735,24 @@ gpm_backlight_init (GpmBacklight *backli
-
- /* we use up_client for the ac-adapter-changed signal */
- backlight->priv->client = up_client_new ();
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (backlight->priv->client, "notify",
-+ G_CALLBACK (gpm_backlight_client_changed_cb), backlight);
-+#else
- g_signal_connect (backlight->priv->client, "changed",
- G_CALLBACK (gpm_backlight_client_changed_cb), backlight);
-+#endif
-
- /* gets caps */
- backlight->priv->can_dim = gpm_brightness_has_hw (backlight->priv->brightness);
-
- /* watch for dim value changes */
- backlight->priv->settings = g_settings_new (GPM_SETTINGS_SCHEMA);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (backlight->priv->settings, "notify", G_CALLBACK (gpm_settings_key_changed_cb), backlight);
-+#else
- g_signal_connect (backlight->priv->settings, "changed", G_CALLBACK (gpm_settings_key_changed_cb), backlight);
-+#endif
-
- /* set the main brightness, this is designed to be updated if the user changes the
- * brightness so we can undim to the 'correct' value */
-diff -upr mate-power-manager-orig/src/gpm-button.c mate-power-manager-test/src/gpm-button.c
---- mate-power-manager-orig/src/gpm-button.c 2013-10-14 22:33:51.546439000 +0200
-+++ mate-power-manager-test/src/gpm-button.c 2013-11-09 18:52:29.023698446 +0100
-@@ -324,7 +324,11 @@ gpm_button_reset_time (GpmButton *button
- * gpm_button_client_changed_cb
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_button_client_changed_cb (UpClient *client, GParamSpec *pspec, GpmButton *button)
-+#else
- gpm_button_client_changed_cb (UpClient *client, GpmButton *button)
-+#endif
- {
- gboolean lid_is_closed;
-
-@@ -363,9 +367,13 @@ gpm_button_init (GpmButton *button)
-
- button->priv->client = up_client_new ();
- button->priv->lid_is_closed = up_client_get_lid_is_closed (button->priv->client);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (button->priv->client, "notify",
-+ G_CALLBACK (gpm_button_client_changed_cb), button);
-+#else
- g_signal_connect (button->priv->client, "changed",
- G_CALLBACK (gpm_button_client_changed_cb), button);
--
-+#endif
- /* register the brightness keys */
- gpm_button_xevent_key (button, XF86XK_PowerOff, GPM_BUTTON_POWER);
- #ifdef HAVE_XF86XK_SUSPEND
-diff -upr mate-power-manager-orig/src/gpm-engine.c mate-power-manager-test/src/gpm-engine.c
---- mate-power-manager-orig/src/gpm-engine.c 2013-11-09 19:24:00.804668000 +0100
-+++ mate-power-manager-test/src/gpm-engine.c 2013-11-09 19:33:10.997189469 +0100
-@@ -511,7 +511,11 @@ gpm_engine_recalculate_state (GpmEngine
- * gpm_engine_settings_key_changed_cb:
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_engine_settings_key_changed_cb (GSettings *settings, const gchar *key, GParamSpec *pspec, GpmEngine *engine)
-+#else
- gpm_engine_settings_key_changed_cb (GSettings *settings, const gchar *key, GpmEngine *engine)
-+#endif
- {
-
- if (g_strcmp0 (key, GPM_SETTINGS_USE_TIME_POLICY) == 0) {
-@@ -878,7 +882,11 @@ gpm_engine_device_removed_cb (UpClient *
- * gpm_engine_device_changed_cb:
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GParamSpec *pspec, GpmEngine *engine)
-+#else
- gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine *engine)
-+#endif
- {
- UpDeviceKind kind;
- UpDeviceState state;
-@@ -1060,12 +1068,23 @@ gpm_engine_init (GpmEngine *engine)
- G_CALLBACK (gpm_engine_device_added_cb), engine);
- g_signal_connect (engine->priv->client, "device-removed",
- G_CALLBACK (gpm_engine_device_removed_cb), engine);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (engine->priv->client, "notify",
-+ G_CALLBACK (gpm_engine_device_changed_cb), engine);
-+#else
- g_signal_connect (engine->priv->client, "device-changed",
- G_CALLBACK (gpm_engine_device_changed_cb), engine);
-+#endif
-
- engine->priv->settings = g_settings_new (GPM_SETTINGS_SCHEMA);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (engine->priv->settings, "notify",
-+ G_CALLBACK (gpm_engine_settings_key_changed_cb), engine);
-+#else
- g_signal_connect (engine->priv->settings, "changed",
- G_CALLBACK (gpm_engine_settings_key_changed_cb), engine);
-+#endif
-+
-
- engine->priv->phone = gpm_phone_new ();
- g_signal_connect (engine->priv->phone, "device-added",
-diff -upr mate-power-manager-orig/src/gpm-kbd-backlight.c mate-power-manager-test/src/gpm-kbd-backlight.c
---- mate-power-manager-orig/src/gpm-kbd-backlight.c 2013-10-14 22:33:51.548439000 +0200
-+++ mate-power-manager-test/src/gpm-kbd-backlight.c 2013-11-09 21:05:54.589660859 +0100
-@@ -531,8 +531,13 @@ gpm_kbd_backlight_control_resume_cb (Gpm
- * Does the actions when the ac power source is inserted/removed.
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_kbd_backlight_client_changed_cb (UpClient *client, GParamSpec *pspec,
-+ GpmKbdBacklight *backlight)
-+#else
- gpm_kbd_backlight_client_changed_cb (UpClient *client,
- GpmKbdBacklight *backlight)
-+#endif
- {
- gpm_kbd_backlight_evaluate_power_source_and_set (backlight);
- }
-@@ -801,8 +806,13 @@ noerr:
-
- /* Use upower for ac changed signal */
- backlight->priv->client = up_client_new ();
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (backlight->priv->client, "notify",
-+ G_CALLBACK (gpm_kbd_backlight_client_changed_cb), backlight);
-+#else
- g_signal_connect (backlight->priv->client, "changed",
- G_CALLBACK (gpm_kbd_backlight_client_changed_cb), backlight);
-+#endif
-
- backlight->priv->settings = g_settings_new (GPM_SETTINGS_SCHEMA);
- //g_signal_connect (backlight->priv->settings, "changed", G_CALLBACK (gpm_settings_key_changed_cb), backlight);
-diff -upr mate-power-manager-orig/src/gpm-manager.c mate-power-manager-test/src/gpm-manager.c
---- mate-power-manager-orig/src/gpm-manager.c 2013-11-09 01:33:29.050924000 +0100
-+++ mate-power-manager-test/src/gpm-manager.c 2013-11-09 18:33:36.013331734 +0100
-@@ -971,7 +971,11 @@ gpm_manager_get_spindown_timeout (GpmMan
- * gpm_manager_client_changed_cb:
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
- gpm_manager_client_changed_cb (UpClient *client, GpmManager *manager)
-+#else
-+gpm_manager_client_changed_cb (UpClient *client, GParamSpec *pspec, GpmManager *manager)
-+#endif
- {
- gboolean event_when_closed;
- gint timeout;
-@@ -1081,7 +1085,11 @@ gpm_manager_class_init (GpmManagerClass
- * We might have to do things when the keys change; do them here.
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_manager_settings_changed_cb (GSettings *settings, const gchar *key, GParamSpec *pspec, GpmManager *manager)
-+#else
- gpm_manager_settings_changed_cb (GSettings *settings, const gchar *key, GpmManager *manager)
-+#endif
- {
- if (g_strcmp0 (key, GPM_SETTINGS_SLEEP_COMPUTER_BATT) == 0 ||
- g_strcmp0 (key, GPM_SETTINGS_SLEEP_COMPUTER_AC) == 0 ||
-@@ -1957,11 +1965,19 @@ gpm_manager_init (GpmManager *manager)
- manager->priv->notification_fully_charged = NULL;
- manager->priv->disks = gpm_disks_new ();
- manager->priv->settings = g_settings_new (GPM_SETTINGS_SCHEMA);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (manager->priv->settings, "notify",
-+ G_CALLBACK (gpm_manager_settings_changed_cb), manager);
-+ manager->priv->client = up_client_new ();
-+ g_signal_connect (manager->priv->client, "notify",
-+ G_CALLBACK (gpm_manager_client_changed_cb), manager);
-+#else
- g_signal_connect (manager->priv->settings, "changed",
- G_CALLBACK (gpm_manager_settings_changed_cb), manager);
- manager->priv->client = up_client_new ();
- g_signal_connect (manager->priv->client, "changed",
- G_CALLBACK (gpm_manager_client_changed_cb), manager);
-+#endif
-
- /* use libmatenotify */
- notify_init (GPM_NAME);
-diff -upr mate-power-manager-orig/src/gpm-prefs-core.c mate-power-manager-test/src/gpm-prefs-core.c
---- mate-power-manager-orig/src/gpm-prefs-core.c 2013-11-08 21:19:48.232969000 +0100
-+++ mate-power-manager-test/src/gpm-prefs-core.c 2013-11-09 18:34:33.846912025 +0100
-@@ -156,7 +156,11 @@ gpm_prefs_format_percentage_cb (GtkScale
- * gpm_prefs_action_combo_changed_cb:
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_prefs_action_combo_changed_cb (GtkWidget *widget, GParamSpec *pspec, GpmPrefs *prefs)
-+#else
- gpm_prefs_action_combo_changed_cb (GtkWidget *widget, GpmPrefs *prefs)
-+#endif
- {
- GpmActionPolicy policy;
- const GpmActionPolicy *actions;
-@@ -175,7 +179,11 @@ gpm_prefs_action_combo_changed_cb (GtkWi
- * gpm_prefs_action_time_changed_cb:
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_prefs_action_time_changed_cb (GtkWidget *widget, GParamSpec *pspec, GpmPrefs *prefs)
-+#else
- gpm_prefs_action_time_changed_cb (GtkWidget *widget, GpmPrefs *prefs)
-+#endif
- {
- guint value;
- const gint *values;
-@@ -254,8 +262,13 @@ gpm_prefs_setup_action_combo (GpmPrefs *
-
- array = g_ptr_array_new ();
- g_object_set_data (G_OBJECT (widget), "settings_key", (gpointer) gpm_pref_key);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (G_OBJECT (widget), "notify",
-+ G_CALLBACK (gpm_prefs_action_combo_changed_cb), prefs);
-+#else
- g_signal_connect (G_OBJECT (widget), "changed",
- G_CALLBACK (gpm_prefs_action_combo_changed_cb), prefs);
-+#endif
-
- for (i=0; actions[i] != -1; i++) {
- policy = actions[i];
-@@ -389,8 +402,13 @@ gpm_prefs_setup_time_combo (GpmPrefs *pr
- }
-
- /* connect after set */
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (G_OBJECT (widget), "notify",
-+ G_CALLBACK (gpm_prefs_action_time_changed_cb), prefs);
-+#else
- g_signal_connect (G_OBJECT (widget), "changed",
- G_CALLBACK (gpm_prefs_action_time_changed_cb), prefs);
-+#endif
- }
-
- /**
-diff -upr mate-power-manager-orig/src/gpm-statistics.c mate-power-manager-test/src/gpm-statistics.c
---- mate-power-manager-orig/src/gpm-statistics.c 2013-11-08 21:19:48.233969000 +0100
-+++ mate-power-manager-test/src/gpm-statistics.c 2013-11-09 19:40:14.983443786 +0100
-@@ -1139,7 +1139,11 @@ gpm_stats_button_update_ui (void)
- * gpm_stats_devices_treeview_clicked_cb:
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_stats_devices_treeview_clicked_cb (GtkTreeSelection *selection, GParamSpec *pspec, gboolean data)
-+#else
- gpm_stats_devices_treeview_clicked_cb (GtkTreeSelection *selection, gboolean data)
-+#endif
- {
- GtkTreeModel *model;
- GtkTreeIter iter;
-@@ -1236,7 +1240,11 @@ gpm_stats_device_added_cb (UpClient *cli
- * gpm_stats_device_changed_cb:
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_stats_device_changed_cb (UpClient *client, UpDevice *device, GParamSpec *pspec, gpointer user_data)
-+#else
- gpm_stats_device_changed_cb (UpClient *client, UpDevice *device, gpointer user_data)
-+#endif
- {
- const gchar *object_path;
- object_path = up_device_get_object_path (device);
-@@ -1281,7 +1289,11 @@ gpm_stats_device_removed_cb (UpClient *c
- * gpm_stats_history_type_combo_changed_cb:
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_stats_history_type_combo_changed_cb (GtkWidget *widget, GParamSpec *pspec, gpointer data)
-+#else
- gpm_stats_history_type_combo_changed_cb (GtkWidget *widget, gpointer data)
-+#endif
- {
- guint active;
- const gchar *axis_x = NULL;
-@@ -1333,7 +1345,11 @@ gpm_stats_history_type_combo_changed_cb
- * gpm_stats_type_combo_changed_cb:
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_stats_type_combo_changed_cb (GtkWidget *widget, GParamSpec *pspec, gpointer data)
-+#else
- gpm_stats_type_combo_changed_cb (GtkWidget *widget, gpointer data)
-+#endif
- {
- guint active;
- const gchar *axis_x = NULL;
-@@ -1385,7 +1401,11 @@ gpm_stats_type_combo_changed_cb (GtkWidg
- * gpm_stats_range_combo_changed:
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_stats_range_combo_changed (GtkWidget *widget, GParamSpec *pspec, gpointer data)
-+#else
- gpm_stats_range_combo_changed (GtkWidget *widget, gpointer data)
-+#endif
- {
- guint active;
-
-@@ -1692,8 +1712,13 @@ main (int argc, char *argv[])
- gtk_tree_view_set_model (GTK_TREE_VIEW (widget),
- GTK_TREE_MODEL (list_store_devices));
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (selection, "notify",
-+ G_CALLBACK (gpm_stats_devices_treeview_clicked_cb), NULL);
-+#else
- g_signal_connect (selection, "changed",
- G_CALLBACK (gpm_stats_devices_treeview_clicked_cb), NULL);
-+#endif
-
- /* add columns to the tree view */
- gpm_stats_add_devices_columns (GTK_TREE_VIEW (widget));
-@@ -1736,8 +1761,13 @@ main (int argc, char *argv[])
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0);
- else
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 1);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (G_OBJECT (widget), "notify",
-+ G_CALLBACK (gpm_stats_history_type_combo_changed_cb), NULL);
-+#else
- g_signal_connect (G_OBJECT (widget), "changed",
- G_CALLBACK (gpm_stats_history_type_combo_changed_cb), NULL);
-+#endif
-
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_stats_type"));
- gpm_stats_set_combo_simple_text (widget);
-@@ -1762,8 +1792,13 @@ main (int argc, char *argv[])
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0);
- else
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 3);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (G_OBJECT (widget), "notify",
-+ G_CALLBACK (gpm_stats_type_combo_changed_cb), NULL);
-+#else
- g_signal_connect (G_OBJECT (widget), "changed",
- G_CALLBACK (gpm_stats_type_combo_changed_cb), NULL);
-+#endif
-
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_history_time"));
- gpm_stats_set_combo_simple_text (widget);
-@@ -1787,8 +1822,13 @@ main (int argc, char *argv[])
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 1);
- else
- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 2);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (G_OBJECT (widget), "notify",
-+ G_CALLBACK (gpm_stats_range_combo_changed), NULL);
-+#else
- g_signal_connect (G_OBJECT (widget), "changed",
- G_CALLBACK (gpm_stats_range_combo_changed), NULL);
-+#endif
-
- client = up_client_new ();
-
-@@ -1815,7 +1855,11 @@ main (int argc, char *argv[])
- /* connect now the coldplug is done */
- g_signal_connect (client, "device-added", G_CALLBACK (gpm_stats_device_added_cb), NULL);
- g_signal_connect (client, "device-removed", G_CALLBACK (gpm_stats_device_removed_cb), NULL);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (client, "notify", G_CALLBACK (gpm_stats_device_changed_cb), NULL);
-+#else
- g_signal_connect (client, "device-changed", G_CALLBACK (gpm_stats_device_changed_cb), NULL);
-+#endif
-
- /* set current device */
- if (devices->len > 0) {
-@@ -1847,9 +1891,9 @@ main (int argc, char *argv[])
-
- /* set axis */
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_history_type"));
-- gpm_stats_history_type_combo_changed_cb (widget, NULL);
-+ gpm_stats_history_type_combo_changed_cb (widget, NULL, NULL);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "combobox_stats_type"));
-- gpm_stats_type_combo_changed_cb (widget, NULL);
-+ gpm_stats_type_combo_changed_cb (widget, NULL, NULL);
-
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_stats"));
- gtk_widget_show (widget);
-diff -upr mate-power-manager-orig/src/gpm-tray-icon.c mate-power-manager-test/src/gpm-tray-icon.c
---- mate-power-manager-orig/src/gpm-tray-icon.c 2013-10-14 22:33:51.552439000 +0200
-+++ mate-power-manager-test/src/gpm-tray-icon.c 2013-11-09 18:34:52.573099918 +0100
-@@ -343,7 +343,11 @@ gpm_tray_icon_activate_cb (GtkStatusIcon
- * We might have to do things when the settings change; do them here.
- **/
- static void
-+#if UP_CHECK_VERSION(0, 99, 0)
-+gpm_tray_icon_settings_changed_cb (GSettings *settings, const gchar *key, GParamSpec *pspec, GpmTrayIcon *icon)
-+#else
- gpm_tray_icon_settings_changed_cb (GSettings *settings, const gchar *key, GpmTrayIcon *icon)
-+#endif
- {
- gboolean allowed_in_menu;
-
-@@ -368,8 +372,13 @@ gpm_tray_icon_init (GpmTrayIcon *icon)
- icon->priv->engine = gpm_engine_new ();
-
- icon->priv->settings = g_settings_new (GPM_SETTINGS_SCHEMA);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+ g_signal_connect (icon->priv->settings, "notify",
-+ G_CALLBACK (gpm_tray_icon_settings_changed_cb), icon);
-+#else
- g_signal_connect (icon->priv->settings, "changed",
- G_CALLBACK (gpm_tray_icon_settings_changed_cb), icon);
-+#endif
-
- icon->priv->status_icon = gtk_status_icon_new ();
- g_signal_connect_object (G_OBJECT (icon->priv->status_icon),
diff --git a/mate-power-manager_upower.patch b/mate-power-manager_upower.patch
deleted file mode 100644
index ae2e097..0000000
--- a/mate-power-manager_upower.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-diff -upr mate-power-manager-orig/src/gpm-control.c mate-power-manager-test/src/gpm-control.c
---- mate-power-manager-orig/src/gpm-control.c 2013-11-01 01:49:11.015502000 +0100
-+++ mate-power-manager-test/src/gpm-control.c 2013-11-08 11:41:38.444731266 +0100
-@@ -288,10 +288,11 @@ gpm_control_suspend (GpmControl *control
- }
- g_object_unref(proxy);
- }
-+#if !UP_CHECK_VERSION(0, 99, 0)
- else {
- ret = up_client_suspend_sync (control->priv->client, NULL, error);
- }
--
-+#endif
- egg_debug ("emitting resume");
- g_signal_emit (control, signals [RESUME], 0, GPM_CONTROL_ACTION_SUSPEND);
-
-@@ -398,10 +399,11 @@ gpm_control_hibernate (GpmControl *contr
- ret = TRUE;
- }
- }
-+#if !UP_CHECK_VERSION(0, 99, 0)
- else {
- ret = up_client_hibernate_sync (control->priv->client, NULL, error);
- }
--
-+#endif
- egg_debug ("emitting resume");
- g_signal_emit (control, signals [RESUME], 0, GPM_CONTROL_ACTION_HIBERNATE);
-
-diff -upr mate-power-manager-orig/src/gpm-engine.c mate-power-manager-test/src/gpm-engine.c
---- mate-power-manager-orig/src/gpm-engine.c 2013-10-14 22:33:51.547439000 +0200
-+++ mate-power-manager-test/src/gpm-engine.c 2013-11-08 14:37:29.681600913 +0100
-@@ -805,12 +805,14 @@ gpm_engine_coldplug_idle_cb (GpmEngine *
- guint i;
- GPtrArray *array = NULL;
- UpDevice *device;
-+#if !UP_CHECK_VERSION(0, 99, 0)
- gboolean ret;
- GError *error = NULL;
-+#endif
-
- g_return_val_if_fail (engine != NULL, FALSE);
- g_return_val_if_fail (GPM_IS_ENGINE (engine), FALSE);
--
-+#if !UP_CHECK_VERSION(0, 99, 0)
- /* get devices from UPower */
- ret = up_client_enumerate_devices_sync (engine->priv->client, NULL, &error);
- if (!ret) {
-@@ -818,7 +820,7 @@ gpm_engine_coldplug_idle_cb (GpmEngine *
- g_error_free (error);
- goto out;
- }
--
-+#endif
- /* connected mobile phones */
- gpm_phone_coldplug (engine->priv->phone);
-
-@@ -831,7 +833,9 @@ gpm_engine_coldplug_idle_cb (GpmEngine *
- gpm_engine_device_add (engine, device);
- gpm_engine_check_recall (engine, device);
- }
-+#if !UP_CHECK_VERSION(0, 99, 0)
- out:
-+#endif
- if (array != NULL)
- g_ptr_array_unref (array);
- /* never repeat */
-diff -upr mate-power-manager-orig/src/gpm-prefs-core.c mate-power-manager-test/src/gpm-prefs-core.c
---- mate-power-manager-orig/src/gpm-prefs-core.c 2013-11-01 01:49:00.864400000 +0100
-+++ mate-power-manager-test/src/gpm-prefs-core.c 2013-11-08 15:40:30.067567455 +0100
-@@ -810,7 +810,9 @@ gpm_prefs_init (GpmPrefs *prefs)
- UpDevice *device;
- UpDeviceKind kind;
- GpmBrightness *brightness;
-+#if !UP_CHECK_VERSION(0, 99, 0)
- gboolean ret;
-+#endif
- guint i;
-
- GDBusProxy *proxy;
-@@ -896,9 +898,11 @@ gpm_prefs_init (GpmPrefs *prefs)
- else {
- /* are we allowed to shutdown? */
- egg_console_kit_can_stop (prefs->priv->console, &prefs->priv->can_shutdown, NULL);
-+#if !UP_CHECK_VERSION(0, 99, 0)
- /* get values from UpClient */
- prefs->priv->can_suspend = up_client_get_can_suspend (prefs->priv->client);
- prefs->priv->can_hibernate = up_client_get_can_hibernate (prefs->priv->client);
-+#endif
- }
-
- if (LOGIND_RUNNING()) {
-@@ -952,14 +956,14 @@ gpm_prefs_init (GpmPrefs *prefs)
- brightness = gpm_brightness_new ();
- prefs->priv->has_lcd = gpm_brightness_has_hw (brightness);
- g_object_unref (brightness);
--
-+#if !UP_CHECK_VERSION(0, 99, 0)
- /* get device list */
- ret = up_client_enumerate_devices_sync (prefs->priv->client, NULL, &error);
- if (!ret) {
- egg_warning ("failed to get device list: %s", error->message);
- g_error_free (error);
- }
--
-+#endif
- devices = up_client_get_devices (prefs->priv->client);
- for (i=0; i<devices->len; i++) {
- device = g_ptr_array_index (devices, i);
-diff -upr mate-power-manager-orig/src/gpm-statistics.c mate-power-manager-test/src/gpm-statistics.c
---- mate-power-manager-orig/src/gpm-statistics.c 2013-10-14 22:33:51.552439000 +0200
-+++ mate-power-manager-test/src/gpm-statistics.c 2013-11-08 14:38:15.855069197 +0100
-@@ -1794,11 +1794,12 @@ main (int argc, char *argv[])
-
- wakeups = up_wakeups_new ();
- g_signal_connect (wakeups, "data-changed", G_CALLBACK (gpm_stats_data_changed_cb), NULL);
--
-+#if !UP_CHECK_VERSION(0, 99, 0)
- /* coldplug */
- ret = up_client_enumerate_devices_sync (client, NULL, NULL);
- if (!ret)
- goto out;
-+#endif
- devices = up_client_get_devices (client);
-
- /* add devices in visually pleasing order */
-@@ -1854,8 +1855,9 @@ main (int argc, char *argv[])
- gtk_widget_show (widget);
-
- gtk_main ();
--
-+#if !UP_CHECK_VERSION(0, 99, 0)
- out:
-+#endif
- g_object_unref (settings);
- g_object_unref (client);
- g_object_unref (wakeups);