;;; battery.el --- display battery status information
-;; Copyright (C) 1997, 1998, 2000, 2001, 2003, 2004
+;; Copyright (C) 1997, 1998, 2000, 2001, 2003, 2004, 2005
;; Free Software Foundation, Inc.
;; Author: Ralph Schleicher <rs@nunatak.allgaeu.org>
(defvar battery-mode-line-string nil
"String to display in the mode line.")
+;;;###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%%]")
+ "[%b%p%%]")
((eq battery-status-function 'battery-linux-proc-acpi)
- " [%b%p%%,%d°C]"))
+ "[%b%p%%,%d°C]"))
"*Control string formatting the string to display in the mode line.
Ordinary characters in the control string are printed as-is, while
conversion specifications introduced by a `%' character in the control
"Battery status not available")))
;;;###autoload
-(defun display-battery ()
+(define-minor-mode display-battery-mode
"Display battery status information in the mode line.
The text being displayed in the mode line is controlled by the variables
`battery-mode-line-format' and `battery-status-function'.
The mode line will be updated automatically every `battery-update-interval'
seconds."
- (interactive)
+ :global t :group 'battery
(setq battery-mode-line-string "")
(or global-mode-string (setq global-mode-string '("")))
- (add-to-list 'global-mode-string 'battery-mode-line-string t)
(and battery-update-timer (cancel-timer battery-update-timer))
- (setq battery-update-timer (run-at-time nil battery-update-interval
- 'battery-update-handler))
- (battery-update))
+ (if (not display-battery-mode)
+ (setq global-mode-string
+ (delq 'battery-mode-line-string global-mode-string))
+ (add-to-list 'global-mode-string 'battery-mode-line-string t)
+ (setq battery-update-timer (run-at-time nil battery-update-interval
+ 'battery-update-handler))
+ (battery-update)))
(defun battery-update-handler ()
(battery-update)
(defun battery-update ()
"Update battery status information in the mode line."
- (setq battery-mode-line-string (propertize (if (and battery-mode-line-format
- battery-status-function)
- (battery-format
- battery-mode-line-format
- (funcall battery-status-function))
- "")
- 'help-echo "Battery status information"))
+ (setq battery-mode-line-string
+ (propertize (if (and battery-mode-line-format
+ battery-status-function)
+ (battery-format
+ battery-mode-line-format
+ (funcall battery-status-function))
+ "")
+ 'help-echo "Battery status information"))
(force-mode-line-update))
\f