[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Writing a Lisp to show the capacity of the battery of the laptop
From: |
Thomas Dean |
Subject: |
Writing a Lisp to show the capacity of the battery of the laptop |
Date: |
Mon, 21 Feb 2011 22:46:32 +0800 |
Hi,
I'm using Archlinux. I want to write a lisp to show the remaining
capacity of the battery of the laptop. It is expected to work like
this:
1. Read from /proc/acpi/battery/BAT0/state and obtain the remaining
capacity of the battery.
2. Read from /proc/acpi/battery/BAT0/info and obtain the full capacity
of the battery.
3. By calculating remaining / full, get the percentage and print it.
I writing the following lisp but it seems that it doesn't work.
;--------------------------------LISP---------------------------------
; get remaining capacity
(shell-command
"cat /proc/acpi/battery/BAT0/state | grep \"remaining capacity\" | sed
\"s/^[a-z][a-z: ]*\([0-9][0-9]*\).*$/\1/g\""
"td-battery-temp-buffer")
(set-buffer "td-battery-temp-buffer")
(setq td-battery-full (string-to-number (buffer-string)))
(erase-buffer)
; get full capacity
(shell-command
"cat /proc/acpi/battery/BAT0/info | grep \"last full capacity\" | sed
\"s/^[a-z][a-z: ]*\([0-9][0-9]*\).*$/\1/g\""
"td-battery-temp-buffer")
(setq td-battery-full (string-to-number (buffer-string)))
; calculate percentage
(message (concat "Remaining Capacity: " (number-to-string td-battery-remaining)
"\nFull Capacity: " (number-to-string td-battery-full)))
; kill temporary buffer
(set-buffer-modified-p nil)
(kill-buffer)
;----------------------LISP END-------------------------------
I'm new to lisp :-) So it maybe looks ugly.
Could you please show me a good lisp that can finish this task?
Thomas
--
- Writing a Lisp to show the capacity of the battery of the laptop,
Thomas Dean <=
Re: Writing a Lisp to show the capacity of the battery of the laptop, Eli Zaretskii, 2011/02/22