Your Emacs probably came with "Emacs Lisp Intro" C-hi. That's a good place to start.
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
--