Index: gnome-power-manager/src/gpm-statistics.c
===================================================================
--- gnome-power-manager.orig/src/gpm-statistics.c	2013-02-13 16:29:17.809998000 +0530
+++ gnome-power-manager/src/gpm-statistics.c	2013-02-13 19:05:41.410822950 +0530
@@ -1831,6 +1831,41 @@
 }
 
 /**
+ * window_key_press_event:
+ **/
+static gboolean
+window_key_press_event (GtkWidget          *win,
+			GdkEventKey        *event,
+			GApplication       *self)
+{
+  GdkKeymap *keymap;
+  gboolean retval;
+  GdkModifierType state;
+
+  if (event->state == 0)
+    return FALSE;
+
+  retval = FALSE;
+  state = event->state;
+  keymap = gdk_keymap_get_default ();
+  gdk_keymap_add_virtual_modifiers (keymap, &state);
+  state = state & gtk_accelerator_get_default_mod_mask ();
+
+  if (state == GDK_CONTROL_MASK)
+    {
+      switch (event->keyval)
+        {
+          case GDK_KEY_Q:
+          case GDK_KEY_q:
+            g_application_quit(self);
+            retval = TRUE;
+            break;
+        }
+    }
+  return retval;
+}
+
+/**
  * gpm_stats_commandline_cb:
  **/
 static int
@@ -1980,6 +2015,10 @@
 	g_signal_connect (widget, "switch-page",
 			  G_CALLBACK (gpm_stats_notebook_changed_cb), NULL);
 
+	/* listen to signal of keys */
+  	g_signal_connect_after (window, "key_press_event",
+                          G_CALLBACK (window_key_press_event), application);
+
 	/* create list stores */
 	list_store_info = gtk_list_store_new (GPM_INFO_COLUMN_LAST, G_TYPE_STRING, G_TYPE_STRING);
 	list_store_devices = gtk_list_store_new (GPM_DEVICES_COLUMN_LAST, G_TYPE_ICON,
