Adding Battery Widget and ACPI Notification in Awesome
Feb 18, 2014
Technology
For keeping the “Clean Desktop”, the cleaner in my office unpluged my laptop’s powerline, and the laptop suddenly going to black when I was coding, so I want to write some scripts for calculating the battery’s power percentage and got notification when the power of the battery is too low. ###Add an indicator in Awesome Desktop Awesome have a very good 3rd-party library called “Vicious”, its page is athttp://awesome.naquadah.org/wiki/Vicious, following the guideline for install and configure it. Install the library:
$ cd ~/.config/awesome
$ git clone http://git.sysphere.org/vicious
Modify the rc.lua to add following lines:
-- Using vicious
-- Vicious is a modular widget library for awesome, derived from the Wicked widget library.
vicious = require("vicious")
-- Add the Battery
mybattery = wibox.widget.textbox()
vicious.register(mybattery, vicious.widgets.bat, "||Battery: $2% ", 30, "BAT0")
-------------------------------------
right_layout:add(mytextclock)
-- We add mybattery here!
right_layout:add(mybattery)
right_layout:add(mylayoutbox[s])
-------------------------------------
After modification, save the rc.lua and restart the awesome desktop, you will see the following pictures. ###Add notification when battery is too low We can use acpi for getting the battery and power supply information, so first let’s install it:
$ sudo pacman -S acpi
Then we can write an script named notifybattery.sh, put it under the /bin folder:
battery_level=`acpi -b | grep -P -o '[0-9]+(?=%)'`
if [ $battery_level -le 10 ]
then
notify-send "Battery low" "Battery level is ${battery_level}%!"
fi
Then we add an item under crotab:
$ crontab -e
# crontab's configuration:
2 * * * * /bin/notifybattery.sh
Now we can got an indication when battery is less than 10%. you can adjust the number to whatever you want.