(battery-status-function): Use w32-battery-status on Windows.
authorJason Rumney <jasonr@gnu.org>
Tue, 29 Apr 2008 00:59:37 +0000 (00:59 +0000)
committerJason Rumney <jasonr@gnu.org>
Tue, 29 Apr 2008 00:59:37 +0000 (00:59 +0000)
(battery-echo-area-format): Make apm format the general case.
(battery-mode-line-format): Merge apm and pmset formats as the
general case.

lisp/ChangeLog
lisp/battery.el

index db1d2da..36a7b44 100644 (file)
@@ -1,3 +1,11 @@
+2008-04-29  Jason Rumney  <jasonr@gnu.org>
+
+       * battery.el (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.
+
 2008-04-29  Nick Roberts  <nickrob@snap.net.nz>
 
        * progmodes/gdb-ui.el (gdb-info-stack-custom): Use
index 0fff947..2123feb 100644 (file)
 
 ;;; 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 @@ introduced by a `%' character in a control string."
   :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 @@ string are substituted as defined by the current value of the variable
 ;;;###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