2006-03-03 Richard Hughes ==== Version 2.13.93 ==== 2006-03-03 Richard Hughes * src/gpm-manager.c (idle_changed_cb): Really ignore idle state changes when the lid is shut, so we don't turn on the display. 2006-03-03 Richard Hughes * src/gpm-manager.c (power_button_pressed_cb): Support the new names for brightness up and brightness down as the HAL API has changed. NOTE: we also support the old names, and should remove the *_DUP defines when we depend on HAL 0.5.8. 2006-03-03 Richard Hughes * configure.in: Get the DBUS version, as now we have do stuff differently depending on whether we are using dbus 0.60 or dbus 0.61. Yay. I love API breakages. Sjoerd Simons found the bug, did the research, found the solution, and wrote a patch to fix, for which I thank him greatly: In dbus <= 0.60 dbus struct weren't really typed from dbus-glib's pov. In dbus >= 0.61 they are, so when defining a signal you need to be more precise then before. * src/gpm-hal-monitor.c (watch_device_connect_property_modified): get the correct struct type if we are using >= DBUS 0.61. 2006-03-03 Richard Hughes * src/gpm-manager.c (battery_status_changed_primary): Remove the extra return that sneaked in to the notification path. This caused people to get repeated "battery is fully charged" messages if thier hardware was a little wonky. Should fix lp:32650 and rh:183612 2006-03-03 Richard Hughes * src/gpm-tray-icon.c (libnotify_event, gpm_tray_icon_notify): set the timeout parameter unit to be seconds, so we can still work with the old (ms) and new (s) libnotify versions. * src/gpm-manager.c: convert all the users of gpm_tray_icon_notify to send timeouts in seconds, and also define the defines GPM_NOTIFY_TIMEOUT_LONG (20 seconds) and GPM_NOTIFY_TIMEOUT_SHORT (5 seconds) so we can change the values to a sensible default in one place only. Should start to fix lp:33411. 2006-03-03 Richard Hughes * src/gpm-prefs.h: Add ACTION_INTERACTIVE and GPM_PREF_BUTTON_POWER. * src/gpm-manager.c (manager_policy_do): Add a ACTION_INTERACTIVE handler so we can show the logout box by doing an interactive logout. * data/gnome-power-manager.schemas.in: Add /apps/gnome-power-manager/action_button_power so we can reconfigure the power button. This was a requested function by email, and makes sense, as it allows me to reconfigure my powerbook power button to suspend, as I only have the one button. Defaults to interactive, which is what we have now. Also add the extended description to the other /apps/gnome-power-manager/action_button_* keys. 2006-03-02 Richard Hughes * src/gpm-power.{c|h} (gpm_power_battery_is_charged): Create this new function so we can put all the logic to determine if the battery is charged in one place, as now sometimes the icon and the tooltip disagree. Should fix bug #333169 * src/gpm-power.c (power_get_summary_for_battery_kind): Use the new gpm_power_battery_is_charged functionality so that we match the logic used for the icon. * src/gpm-manager.c (get_stock_id_helper): Use the new gpm_power_battery_is_charged functionality that we have abstracted out. 2006-03-02 Richard Hughes * src/gpm-power.c (battery_kind_cache_update): clamp the percentage charge to between 0..100 as sometimes we get the internally averaged and computed value wrong. I blame HAL, but this fixes the problem. :-) 2006-03-02 Richard Hughes * src/gpm-screensaver.{c|h}: Add the functions: gpm_screensaver_inhibit_activation() and gpm_screensaver_allow_activation (). * src/gpm-manager.c (lid_button_pressed): Inhibit activation of the screensaver when the lid is closed, and allow activation when the lid is opened. This prevents the screensaver starting when the panel is closed, and the action is to turn off the screen or do nothing. 2006-03-02 Richard Hughes * configure.in, icons/Makefile.am, icons/16x16/*: Move the suspend-to-disk and suspend-to-ram icons to a proper place, considering they are not 24x24. Also update with the new bluecurve icons from Diana Fong, to match the theme, many thanks. Fixes #332631. * src/gpm-manager.c: Ignore timeout events when the lid is closed, as the DPMS is already off, and we don't want to perform policy actions or re-enable the screen when the user moves the mouse on systems that do not support hardware blanking. Details are here: https://launchpad.net/malone/bugs/22522 2006-03-01 Richard Hughes * src/gpm-main.c (gpm_critical_error): Create this function and use it in main to deal with critical warnings for missing dbus. I probably get one bug report a week of g-p-m "crashing" on startup where the dbus system or session server is missing. Display a BIG FAT warning in a message box with all the details and exit nicely with error code 1. 006-03-01 Richard Hughes * src/gpm-screensaver.c (gpm_screensaver_lock): When we send the Lock signal to g-ss it takes maybe a second or so to fade the screen and lock. If we suspend mid fade then on resume the X display is still present for a split second (since fade is gamma) and as such it can leak information. Instead we wait until g-ss reports running and thus blanked solidly before we continue from the screensaver_lock action. The interior of g-ss is async, so we cannot get the dbus method to block until lock is complete. From the ubuntu mega-patch, thanks to Daniel Silverstone for the help explaining the situation. 2006-02-28 Richard Hughes * data/gpm-prefs.glade: Add an option to disable the dim on idle as I needed to change this during a demo today, and I had to grapple with gconf. Also change the always icon option to "Always display icon when battery present" as this represents better what it does. * help/C/gnome-power-manager.xml: remove duplicate lock option. 2006-02-28 Richard Hughes * src/gpm-manager.c: Make the logging interface a whole lot more sane without just poking around in the manager->priv struct. * src/gpm-manager.h, src/gpm-manager.h: Change the dbus method names to include xxxx_dbus_method so we know (for logging purposes) whether a suspend was triggered from the external method, or if we did it internally from one of the handlers. 2006-02-28 Richard Hughes * src/gpm-debug.{c|h}: Get rid of the to_file stuff, nobody ever used it, me included. Add functionality to log to syslog, to try and start to fix #332760. Also reformat file and make more structured. * src/gpm-manager.c: Use define names to hold the key names, in case they ever change in HAL. Which they might do, when we start adding a few more. * src/gpm-manager.c: Start to add a logging interface so that we can log *why* a specific action was taken, to also try to fix #332760. This needs to be expanded, giving values and more precise reasons. Log to syslog, so that we get messages such as: "Feb 28 19:19:07 localhost gnome-power-manager: Suspending system because user clicked suspend in tray menu" in /var/log/messages. This should help debugging all those weird bugzillas. * src/gpm-manager.c (battery_button_pressed): Display a libnotify window containing all the device charges when the user presses the battery status key. From the ubuntu mega-patch. 2006-02-28 Richard Hughes * src/gpm-prefs.h: Add GPM_PREF_BUTTON_HIBERNATE * data/gnome-power-manager.schemas.in: Add the new key: /apps/gnome-power-manager/action_button_hibernate so we can set the policy when the hibernate button is pressed. Defaults to hibernate. From the ubuntu mega-patch. * src/gpm-manager.c (callback_gconf_key_changed): Do instant apply for CAN_SUSPEND and CAN_HIBERNATE. From the ubuntu mega-patch. * src/gpm-hal-monitor.{c|h}, src/gpm-marshal.list, src/gpm-power.{c|h} The battery name, details mess should not be emitted internally, as we should do all this processing in the hal-monitor. Get rid of the details field, and make this from VOID__STRING_STRING_BOOLEAN to VOID__STRING_BOOLEAN. * src/gpm-manager.c (power_button_pressed_cb): get rid of the "virtual" mess as the only thing to use it is my toshiba addon, which now does the button events a standard way. * src/gpm-hal-monitor.c (watch_device_condition): Do not filter the allowed buttons here, as we are currently doing it in two places. It make more sense for the manager to do it. * src/gpm-manager.c (battery_status_changed_primary): Don't do the notification if the message is blank. From the ubuntu mega-patch. * src/gpm-hal.c (gpm_hal_num_devices_of_capability_with_value): Fix theoretical NULL dereference. From the ubuntu mega-patch. 2006-02-27 Richard Hughes * src/gpm-manager.c (get_stock_id_helper): use the prefix, rather than hardcoding "battery" for the charged icon. Fixes #332761. 2006-02-27 Rodrigo Moya * data/Makefile.am: install autostart files to new (definitive) place. 2006-02-27 Richard Hughes * src/gpm-manager.c (battery_low_get_title): Include GPM_WARNING_ACTION to fix a crash when a very low power (0%) mouse is inserted. This should fix RH#183127. 2006-02-26 Richard Hughes * configure.in: Post release bump to 2.13.93