[Goodies-commits] r7173 - in xfce4-power-manager/trunk: . settings src

Ali Abdallah aliov at xfce.org
Sun Apr 12 22:54:39 CEST 2009


Author: aliov
Date: 2009-04-12 20:54:39 +0000 (Sun, 12 Apr 2009)
New Revision: 7173

Modified:
   xfce4-power-manager/trunk/ChangeLog
   xfce4-power-manager/trunk/TODO
   xfce4-power-manager/trunk/settings/xfpm-settings.c
   xfce4-power-manager/trunk/settings/xfpm-settings.glade
   xfce4-power-manager/trunk/src/xfpm-brightness-hal.c
   xfce4-power-manager/trunk/src/xfpm-config.h
   xfce4-power-manager/trunk/src/xfpm-engine.c
   xfce4-power-manager/trunk/src/xfpm-shutdown.c
   xfce4-power-manager/trunk/src/xfpm-tray-icon.c
   xfce4-power-manager/trunk/src/xfpm-xfconf.c
Log:
Provide the possibility to disable brightness control on key press by setting a xfconf property

Modified: xfce4-power-manager/trunk/ChangeLog
===================================================================
--- xfce4-power-manager/trunk/ChangeLog	2009-04-12 19:29:18 UTC (rev 7172)
+++ xfce4-power-manager/trunk/ChangeLog	2009-04-12 20:54:39 UTC (rev 7173)
@@ -1,4 +1,7 @@
 
+2009-04-12 22:54 Ali aliov at xfce.org 
+	 * : Provide the possibility to disable brightness control on key press by setting a xfconf property
+
 2009-04-12 21:29 Ali aliov at xfce.org 
 	 * : Enable HAL power button event even if the button is correctly mapped in X, as X doesn't always generates events for it
 

Modified: xfce4-power-manager/trunk/TODO
===================================================================
--- xfce4-power-manager/trunk/TODO	2009-04-12 19:29:18 UTC (rev 7172)
+++ xfce4-power-manager/trunk/TODO	2009-04-12 20:54:39 UTC (rev 7173)
@@ -1,3 +1,5 @@
+* : Solve the problem of possible multiple sleep requests between us and the session manager.
+
 * : OnLowBattery DBus signals (currently there is only OnBattery DBus signal).
 
 * : Support Suspend Hybrid! ( DeviceKit power will not support this! ).

Modified: xfce4-power-manager/trunk/settings/xfpm-settings.c
===================================================================
--- xfce4-power-manager/trunk/settings/xfpm-settings.c	2009-04-12 19:29:18 UTC (rev 7172)
+++ xfce4-power-manager/trunk/settings/xfpm-settings.c	2009-04-12 20:54:39 UTC (rev 7173)
@@ -1403,7 +1403,7 @@
 			  gboolean has_hibernate_button, gboolean has_power_button,
 			  GdkNativeWindow id)
 {
-    TRACE("system_laptop=%s user_privilege=%s can_suspend=%s can_hibernate=%s has_lcd_brightness=%s has_lid=%s"\
+    TRACE("system_laptop=%s user_privilege=%s can_suspend=%s can_hibernate=%s has_lcd_brightness=%s has_lid=%s "\
           "has_sleep_button=%s has_hibernate_button=%s has_power_button=%s",
 	  xfpm_bool_to_string (system_laptop), xfpm_bool_to_string (user_privilege),
 	  xfpm_bool_to_string (can_suspend), xfpm_bool_to_string (can_hibernate),

Modified: xfce4-power-manager/trunk/settings/xfpm-settings.glade
===================================================================
--- xfce4-power-manager/trunk/settings/xfpm-settings.glade	2009-04-12 19:29:18 UTC (rev 7172)
+++ xfce4-power-manager/trunk/settings/xfpm-settings.glade	2009-04-12 20:54:39 UTC (rev 7173)
@@ -903,24 +903,53 @@
                             <child>
                               <widget class="GtkVBox" id="vbox2">
                                 <property name="visible">True</property>
-                                <property name="spacing">10</property>
+                                <property name="spacing">12</property>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox1">
+                                  <widget class="GtkTable" id="table1">
                                     <property name="visible">True</property>
-                                    <property name="spacing">10</property>
+                                    <property name="n_rows">2</property>
+                                    <property name="n_columns">2</property>
+                                    <property name="row_spacing">8</property>
                                     <child>
-                                      <widget class="GtkLabel" id="label2">
+                                      <widget class="GtkVBox" id="vbox5">
                                         <property name="visible">True</property>
-                                        <property name="label" translatable="yes">Set monitor sleep mode:</property>
+                                        <property name="orientation">vertical</property>
+                                        <child>
+                                          <widget class="GtkRadioButton" id="inactivity-suspend">
+                                            <property name="label" translatable="yes">Suspend</property>
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <property name="receives_default">False</property>
+                                            <property name="active">True</property>
+                                            <property name="draw_indicator">True</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkRadioButton" id="inactivity-hibernate">
+                                            <property name="label" translatable="yes">Hibernate</property>
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <property name="receives_default">False</property>
+                                            <property name="draw_indicator">True</property>
+                                            <property name="group">inactivity-suspend</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
                                       </widget>
                                       <packing>
-                                        <property name="expand">False</property>
-                                        <property name="position">0</property>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
                                       </packing>
                                     </child>
                                     <child>
                                       <widget class="GtkVBox" id="vbox3">
                                         <property name="visible">True</property>
+                                        <property name="orientation">vertical</property>
                                         <child>
                                           <widget class="GtkRadioButton" id="sleep-dpms-mode">
                                             <property name="label" translatable="yes">Standby</property>
@@ -940,7 +969,6 @@
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
                                             <property name="receives_default">False</property>
-                                            <property name="active">True</property>
                                             <property name="draw_indicator">True</property>
                                             <property name="group">sleep-dpms-mode</property>
                                           </widget>
@@ -950,69 +978,50 @@
                                         </child>
                                       </widget>
                                       <packing>
-                                        <property name="position">1</property>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
                                       </packing>
                                     </child>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkHBox" id="hbox7">
-                                    <property name="visible">True</property>
-                                    <property name="spacing">10</property>
                                     <child>
-                                      <widget class="GtkLabel" id="label7">
+                                      <widget class="GtkHBox" id="hbox1">
                                         <property name="visible">True</property>
-                                        <property name="label" translatable="yes">Set computer inactivity sleep mode:</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkVBox" id="vbox5">
-                                        <property name="visible">True</property>
-                                        <property name="orientation">vertical</property>
                                         <child>
-                                          <widget class="GtkRadioButton" id="inactivity-suspend">
-                                            <property name="label" translatable="yes">Suspend</property>
+                                          <widget class="GtkLabel" id="label7">
                                             <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="receives_default">False</property>
-                                            <property name="active">True</property>
-                                            <property name="draw_indicator">True</property>
+                                            <property name="label" translatable="yes">Set computer inactivity sleep mode:</property>
                                           </widget>
                                           <packing>
+                                            <property name="expand">False</property>
                                             <property name="position">0</property>
                                           </packing>
                                         </child>
+                                      </widget>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkHBox" id="hbox7">
+                                        <property name="visible">True</property>
                                         <child>
-                                          <widget class="GtkRadioButton" id="inactivity-hibernate">
-                                            <property name="label" translatable="yes">Hibernate</property>
+                                          <widget class="GtkLabel" id="label2">
                                             <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="receives_default">False</property>
-                                            <property name="active">True</property>
-                                            <property name="draw_indicator">True</property>
-                                            <property name="group">inactivity-suspend</property>
+                                            <property name="label" translatable="yes">Set monitor sleep mode:</property>
                                           </widget>
                                           <packing>
-                                            <property name="position">1</property>
+                                            <property name="expand">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                       </widget>
                                       <packing>
-                                        <property name="position">1</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
                                       </packing>
                                     </child>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
-                                    <property name="position">1</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -1044,7 +1053,7 @@
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
-                                    <property name="position">2</property>
+                                    <property name="position">1</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -1057,7 +1066,7 @@
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
-                                    <property name="position">3</property>
+                                    <property name="position">2</property>
                                   </packing>
                                 </child>
                               </widget>

Modified: xfce4-power-manager/trunk/src/xfpm-brightness-hal.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-brightness-hal.c	2009-04-12 19:29:18 UTC (rev 7172)
+++ xfce4-power-manager/trunk/src/xfpm-brightness-hal.c	2009-04-12 20:54:39 UTC (rev 7173)
@@ -204,6 +204,11 @@
 static void
 xfpm_brightness_hal_up (XfpmBrightnessHal *brg)
 {
+    gboolean enable_brightness = xfpm_xfconf_get_property_bool (brg->priv->conf, ENABLE_BRIGHTNESS_CONTROL);
+    
+    if ( !enable_brightness )
+	return;
+	
     if ( brg->priv->brightness_in_hw )
 	goto signal;
     
@@ -221,6 +226,11 @@
 static void
 xfpm_brightness_hal_down (XfpmBrightnessHal *brg)
 {
+    gboolean enable_brightness = xfpm_xfconf_get_property_bool (brg->priv->conf, ENABLE_BRIGHTNESS_CONTROL);
+    
+    if ( !enable_brightness )
+	return;
+	
     if ( brg->priv->brightness_in_hw )
 	goto signal;
 	

Modified: xfce4-power-manager/trunk/src/xfpm-config.h
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-config.h	2009-04-12 19:29:18 UTC (rev 7172)
+++ xfce4-power-manager/trunk/src/xfpm-config.h	2009-04-12 20:54:39 UTC (rev 7173)
@@ -71,6 +71,8 @@
 #define         DPMS_SLEEP_MODE		     "/xfce4-power-manager/dpms-sleep-mode"	/* 0= sleep, 1=suspend */
 #endif
 
+#define         ENABLE_BRIGHTNESS_CONTROL    "/xfce4-power-manager/change-brightness-on-key-events"
+
 G_END_DECLS
 
 #endif /* __XFPM_CONFIG_H */

Modified: xfce4-power-manager/trunk/src/xfpm-engine.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-engine.c	2009-04-12 19:29:18 UTC (rev 7172)
+++ xfce4-power-manager/trunk/src/xfpm-engine.c	2009-04-12 20:54:39 UTC (rev 7173)
@@ -44,7 +44,6 @@
 #include "xfpm-adapter.h"
 #include "xfpm-xfconf.h"
 #include "xfpm-cpu.h"
-#include "xfpm-network-manager.h"
 #include "xfpm-button.h"
 #include "xfpm-inhibit.h"
 #include "xfpm-backlight.h"
@@ -113,7 +112,6 @@
 	g_warning ("%s", error->message);
 	g_error_free (error);
     }
-    xfpm_send_message_to_network_manager ("wake");
     return FALSE;
 }
 
@@ -129,7 +127,6 @@
 	g_warning ("%s", error->message);
 	g_error_free (error);
     }
-    xfpm_send_message_to_network_manager ("wake");
     return FALSE;
 }
 
@@ -170,7 +167,6 @@
     else
     {
 	TRACE ("Going to do %s\n", action);
-	xfpm_send_message_to_network_manager ("sleep");
 
 	if (shutdown == XFPM_DO_SHUTDOWN)
 	{

Modified: xfce4-power-manager/trunk/src/xfpm-shutdown.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-shutdown.c	2009-04-12 19:29:18 UTC (rev 7172)
+++ xfce4-power-manager/trunk/src/xfpm-shutdown.c	2009-04-12 20:54:39 UTC (rev 7173)
@@ -39,8 +39,10 @@
 #include "libxfpm/hal-monitor.h"
 
 #include "libxfpm/xfpm-string.h"
+
 #include "xfpm-shutdown.h"
 #include "xfpm-session.h"
+#include "xfpm-network-manager.h"
 #include "xfpm-errors.h"
 
 #define DUPLICATE_SHUTDOWN_REQUEST 8.0f
@@ -266,7 +268,7 @@
 {
     DBusMessage *message, *reply = NULL;
     DBusError error;
-    gint exit_code;
+    gint exit_code = 0;
     
     message = dbus_message_new_method_call ("org.freedesktop.Hal",
 					    "/org/freedesktop/Hal/devices/computer",
@@ -278,7 +280,7 @@
 	return FALSE;
     }
     
-    if ( !g_strcmp0("Suspend", shutdown ) )
+    if ( !g_strcmp0 ("Suspend", shutdown ) )
     {
 	gint seconds = 0;
     	dbus_message_append_args (message, DBUS_TYPE_INT32, &seconds, DBUS_TYPE_INVALID);
@@ -309,6 +311,7 @@
 		if ( exit_code == 0) return TRUE;
 		else
 		{
+		    g_warning ("Sleep program exited with exit code %d", exit_code);
 		    g_set_error (gerror, 0, 0, "System failed to sleep");
 		    return FALSE;
 		}
@@ -385,6 +388,7 @@
     if (shutdown->priv->block_shutdown)
 	return FALSE;
 	
+    xfpm_send_message_to_network_manager ("sleep");
     g_timeout_add_seconds (timeout, func, data);
     shutdown->priv->block_shutdown = TRUE;
     return TRUE;
@@ -401,10 +405,13 @@
 	return;
     }
     
+    xfpm_send_message_to_network_manager ("sleep");
+    
     if ( !xfpm_session_shutdown (shutdown->priv->session) )
 	xfpm_shutdown_internal (dbus_g_connection_get_connection(shutdown->priv->bus), "Shutdown", NULL);
 
     shutdown->priv->block_shutdown = FALSE;
+    xfpm_send_message_to_network_manager ("wake");
 }
 
 void xfpm_hibernate (XfpmShutdown *shutdown, GError **error)
@@ -421,6 +428,8 @@
 	return;
     }
 
+    xfpm_send_message_to_network_manager ("sleep");
+
     xfpm_shutdown_internal (dbus_g_connection_get_connection(shutdown->priv->bus), "Hibernate", &error_internal);
     shutdown->priv->block_shutdown = FALSE;
     
@@ -435,6 +444,8 @@
 	g_error_free (error_internal);
     }
     g_signal_emit (G_OBJECT (shutdown), signals [WAKING_UP], 0);
+    
+    xfpm_send_message_to_network_manager ("wake");
 }
 
 void xfpm_suspend (XfpmShutdown *shutdown, GError **error)
@@ -451,6 +462,7 @@
 	return;
     }
     
+    xfpm_send_message_to_network_manager ("sleep");
     xfpm_shutdown_internal (dbus_g_connection_get_connection(shutdown->priv->bus), "Suspend", &error_internal);
     shutdown->priv->block_shutdown = FALSE;
      
@@ -465,6 +477,8 @@
 	g_error_free (error_internal);
     }
     g_signal_emit (G_OBJECT (shutdown), signals [WAKING_UP], 0);
+    
+    xfpm_send_message_to_network_manager ("wake");
 }
 
 void xfpm_shutdown_ask (XfpmShutdown *shutdown)

Modified: xfce4-power-manager/trunk/src/xfpm-tray-icon.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-tray-icon.c	2009-04-12 19:29:18 UTC (rev 7172)
+++ xfce4-power-manager/trunk/src/xfpm-tray-icon.c	2009-04-12 20:54:39 UTC (rev 7173)
@@ -37,7 +37,6 @@
 #include "libxfpm/xfpm-notify.h"
 
 #include "xfpm-tray-icon.h"
-#include "xfpm-network-manager.h"
 #include "xfpm-shutdown.h"
 #include "xfpm-inhibit.h"
 #include "xfpm-xfconf.h"
@@ -122,7 +121,6 @@
 				       tray->priv->icon);
 	g_error_free (error);
     }
-    xfpm_send_message_to_network_manager ("wake");
     return FALSE;
 }
 
@@ -146,7 +144,6 @@
 				       tray->priv->icon);
 	g_error_free (error);
     }
-    xfpm_send_message_to_network_manager ("wake");
     return FALSE;
 }
 
@@ -177,7 +174,6 @@
 				    (GSourceFunc) xfpm_tray_icon_do_hibernate, 
 				    2,
 				    tray);
-	xfpm_send_message_to_network_manager ("sleep");
     }
 }
 
@@ -209,7 +205,6 @@
 				    2,
 				    tray);
 				    
-	xfpm_send_message_to_network_manager ("sleep");
     }
 }
 

Modified: xfce4-power-manager/trunk/src/xfpm-xfconf.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-xfconf.c	2009-04-12 19:29:18 UTC (rev 7172)
+++ xfce4-power-manager/trunk/src/xfpm-xfconf.c	2009-04-12 20:54:39 UTC (rev 7173)
@@ -81,6 +81,7 @@
     guint              	 inactivity_on_ac;
     guint                inactivity_on_battery;
     gboolean             sleep_inactivity; /* TRUE = suspend FALSE = hibernate*/
+    gboolean             enable_brightness;
 };
 
 enum
@@ -318,6 +319,8 @@
 	    conf->priv->sleep_inactivity = TRUE;
 	}
     }
+    else if ( xfpm_strequal (property, ENABLE_BRIGHTNESS_CONTROL) )
+	conf->priv->enable_brightness = g_value_get_boolean (value);
 }
 
 static void
@@ -500,6 +503,9 @@
 	g_critical("Invalid value %s for property %s\n", str, INACTIVITY_SLEEP_MODE);
 	conf->priv->sleep_inactivity = TRUE;
     }
+    
+    conf->priv->enable_brightness =
+	xfconf_channel_get_bool (conf->priv->channel, ENABLE_BRIGHTNESS_CONTROL, TRUE);
 }
 
 static void
@@ -650,6 +656,8 @@
 	return conf->priv->power_button;
     else if ( xfpm_strequal (property, HIBERNATE_SWITCH_CFG ) )
 	return conf->priv->hibernate_button;
+    else if ( xfpm_strequal (property, ENABLE_BRIGHTNESS_CONTROL) )
+	return conf->priv->enable_brightness;
     
     g_warn_if_reached ();
 




More information about the Goodies-commits mailing list