# HG changeset patch # User Jason Rumney # Date 1209430735 0 # Node ID a96dda54aef3ed32d646c6147cac4ccffc780b93 # Parent 3e6996845ca9299de7f376d436af578ac0d2bcc8 (battery-status-function): Use w32-battery-status on Windows. (battery-echo-area-format): Make apm format the general case. (battery-mode-line-format): Merge apm and pmset formats as the general case. diff -r 3e6996845ca9 -r a96dda54aef3 lisp/battery.el --- a/lisp/battery.el Tue Apr 29 00:51:07 2008 +0000 +++ b/lisp/battery.el Tue Apr 29 00:58:55 2008 +0000 @@ -25,10 +25,11 @@ ;;; Commentary: -;; There is at present support for GNU/Linux and OS X. This library -;; supports both the `/proc/apm' file format of Linux version 1.3.58 -;; or newer and the `/proc/acpi/' directory structure of Linux 2.4.20 -;; and 2.6. Darwin (OS X) is supported by using the `pmset' program. +;; There is at present support for GNU/Linux, OS X and Windows. This +;; library supports both the `/proc/apm' file format of Linux version +;; 1.3.58 or newer and the `/proc/acpi/' directory structure of Linux +;; 2.4.20 and 2.6. Darwin (OS X) is supported by using the `pmset' +;; program. Windows is supported by the GetSystemPowerStatus API call. ;;; Code: @@ -54,7 +55,9 @@ (and (eq (call-process "pmset" nil t nil "-g" "ps") 0) (> (buffer-size) 0))) (error nil))) - 'battery-pmset)) + 'battery-pmset) + ((eq system-type 'windows-nt) + 'w32-battery-status)) "*Function for getting battery status information. The function has to return an alist of conversion definitions. Its cons cells are of the form @@ -67,12 +70,12 @@ :group 'battery) (defcustom battery-echo-area-format - (cond ((eq battery-status-function 'battery-linux-proc-apm) - "Power %L, battery %B (%p%% load, remaining time %t)") - ((eq battery-status-function 'battery-linux-proc-acpi) + (cond ((eq battery-status-function 'battery-linux-proc-acpi) "Power %L, battery %B at %r (%p%% load, remaining time %t)") ((eq battery-status-function 'battery-pmset) - "%L power, battery %B (%p%% load, remaining time %t)")) + "%L power, battery %B (%p%% load, remaining time %t)") + (battery-status-function + "Power %L, battery %B (%p%% load, remaining time %t)")) "*Control string formatting the string to display in the echo area. Ordinary characters in the control string are printed as-is, while conversion specifications introduced by a `%' character in the control @@ -97,11 +100,9 @@ ;;;###autoload (put 'battery-mode-line-string 'risky-local-variable t) (defcustom battery-mode-line-format - (cond ((eq battery-status-function 'battery-linux-proc-apm) - "[%b%p%%]") - ((eq battery-status-function 'battery-linux-proc-acpi) + (cond ((eq battery-status-function 'battery-linux-proc-acpi) "[%b%p%%,%d°C]") - ((eq battery-status-function 'battery-pmset) + (battery-status-function "[%b%p%%]")) "*Control string formatting the string to display in the mode line. Ordinary characters in the control string are printed as-is, while