Your Emacs probably came with "Emacs Lisp Intro" C-hi. That's a good place to start. On Mon, Feb 21, 2011 at 10:46 PM, Thomas Dean wrote: > > 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 > > -- > > -- Le