---
 src/gpm-manager.c |    4 +++-
 src/gpm-notify.c  |   39 ++++++++++++++++++++++++++++++++++-----
 src/gpm-notify.h  |    6 ++++++
 3 files changed, 43 insertions(+), 6 deletions(-)

Index: gnome-power-manager-2.24.1/src/gpm-manager.c
===================================================================
--- gnome-power-manager-2.24.1.orig/src/gpm-manager.c
+++ gnome-power-manager-2.24.1/src/gpm-manager.c
@@ -92,6 +92,7 @@ struct GpmManagerPrivate
 	GpmPrefsServer		*prefs_server;
 	GpmInhibit		*inhibit;
 	GpmNotify		*notify;
+	GpmNotify		*power_info_notify;
 	GpmControl		*control;
 	GpmScreensaver 		*screensaver;
 	GpmSound 		*sound;
@@ -931,7 +932,7 @@ battery_button_pressed (GpmManager *mana
 
 	message = gpm_engine_get_summary (manager->priv->engine);
 
-	gpm_notify_display (manager->priv->notify,
+	gpm_notify_display_single (manager->priv->power_info_notify,
 			      _("Power Information"),
 			      message,
 			      GPM_NOTIFY_TIMEOUT_LONG,
@@ -1759,6 +1760,7 @@ gpm_manager_init (GpmManager *manager)
 	manager->priv->prefs_server = gpm_prefs_server_new ();
 
 	manager->priv->notify = gpm_notify_new ();
+	manager->priv->power_info_notify = gpm_notify_new ();
 	manager->priv->conf = gpm_conf_new ();
 	g_signal_connect (manager->priv->conf, "value-changed",
 			  G_CALLBACK (conf_key_changed_cb), manager);
Index: gnome-power-manager-2.24.1/src/gpm-notify.c
===================================================================
--- gnome-power-manager-2.24.1.orig/src/gpm-notify.c
+++ gnome-power-manager-2.24.1/src/gpm-notify.c
@@ -91,16 +91,17 @@ notify_closed_cb (NotifyNotification *li
 }
 
 static gboolean
-gpm_notify_create (GpmNotify 	 *notify,
+_gpm_notify_create (GpmNotify 	 *notify,
 	 	   const gchar	 *title,
 		   const gchar	 *content,
 		   GpmNotifyTimeout timeout,
 		   const gchar	 *msgicon,
-		   GpmNotifyUrgency urgency)
+		   GpmNotifyUrgency urgency,
+		   gboolean single_notification)
 {
-	if (notify->priv->libnotify != NULL) {
-//		notify_notification_close (notify->priv->libnotify, NULL);
-//		notify->priv->libnotify = NULL;
+	if (notify->priv->libnotify != NULL && single_notification) {
+		notify_notification_close (notify->priv->libnotify, NULL);
+		notify->priv->libnotify = NULL;
 	}
 
 	if (notify->priv->status_icon != NULL &&
@@ -130,6 +131,9 @@ gpm_notify_create (GpmNotify 	 *notify,
 	return TRUE;
 }
 
+#define gpm_notify_create(notify,title,content,timeout,msgicon,urg) \
+	_gpm_notify_create(notify,title,content,timeout,msgicon,urg,FALSE)
+
 static gboolean
 gpm_notify_show (GpmNotify *notify)
 {
@@ -166,6 +170,19 @@ gpm_notify_display (GpmNotify 	 *notify,
 	return TRUE;
 }
 
+gboolean
+gpm_notify_display_single(GpmNotify 	 *notify,
+			  const gchar	 *title,
+			  const gchar	 *content,
+			  GpmNotifyTimeout timeout,
+			  const gchar	 *msgicon,
+			  GpmNotifyUrgency urgency)
+{
+	_gpm_notify_create (notify, title, content, timeout, msgicon, urgency, TRUE);
+	gpm_notify_show (notify);
+	return TRUE;
+}
+
 #else
 
 /**
@@ -243,6 +260,18 @@ gpm_notify_display (GpmNotify 	 *notify,
 
 	return TRUE;
 }
+
+gboolean
+gpm_notify_display_single (GpmNotify 	 *notify,
+			   const gchar	 *title,
+			   const gchar	 *content,
+			   GpmNotifyTimeout timeout,
+			   const gchar	 *msgicon,
+			   GpmNotifyUrgency urgency)
+{
+	return gpm_notify_display (notify, title, content, timeout, msgicon, urgency);
+}
+
 #endif
 
 /**
Index: gnome-power-manager-2.24.1/src/gpm-notify.h
===================================================================
--- gnome-power-manager-2.24.1.orig/src/gpm-notify.h
+++ gnome-power-manager-2.24.1/src/gpm-notify.h
@@ -71,6 +71,12 @@ gboolean	 gpm_notify_display		(GpmNotify
 						 GpmNotifyTimeout	 timeout,
 						 const gchar		*msgicon,
 						 GpmNotifyUrgency	 urgency);
+gboolean	 gpm_notify_display_single	(GpmNotify 		*notify,
+	 					 const gchar		*title,
+						 const gchar		*content,
+						 GpmNotifyTimeout	 timeout,
+						 const gchar		*msgicon,
+						 GpmNotifyUrgency	 urgency);
 void		 gpm_notify_cancel		(GpmNotify		*notify);
 void		 gpm_notify_use_status_icon	(GpmNotify		*notify,
 						 GtkStatusIcon		*status_icon);
