+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),