help-gnu-emacs
[Top][All Lists]
Advanced

[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

-- 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]