Small remake of Acpitool based power widget for Awesome3

Frist you need to have acpitool installed which is basically a Linux ACPI client, allowing you to query or set ACPI values and display them. Basically said it parses /proc/acpi or /sys/class entries and presents the output in a well formatted text. Acpitool is available in most of the Linux distros and the requirement is that your kernel has the support for ACPI, which it probably does.

Here is the code, also don't forget to register  mybattmon to the widget list in rc.lua



mybattmon = widget({ type = "textbox", 
                     name = "mybattmon",
                     align = "right" })

function battery_status ()
    --output buffer
    local output={} 
    -- read data from battery
    local fd=io.popen("acpitool -b", "r") 
    local line=fd:read()
    -- we match the output from acpitool
    local battery_load = string.match(line,
                           " (%d*\.%d+)%%")
    local time_rem = string.match(line,
                           "(%d+\:%d+)\:%d+")
    local discharging -- temp var for opening tag
    if string.match(line, 
                   "discharging")=="discharging" then 
                -- discharging: set the color to red
                discharging="< span color=\"#CC7777\">"
    elseif tonumber(battery_load)>85 then --almost charged
                discharging="< span color=\"#77CC77\">"
    else --charging
                discharging="< span color=\"#CCCC77\">"
    end
    if battery_num and battery_load and time_rem then
       table.insert(output,
       discharging.."B "..battery_load.."%% "..time_rem..
       "</span >")
    elseif battery_num and battery_load then 
    --remaining time unavailable so the battery is loading
       table.insert(output,discharging.."B "..battery_load..
       "%%</span >")
     end 
     -- even more data unavailable: 
     -- we might be getting an unexpected output format 
     -- so let's just skip this line.
    return table.concat(output," ") 
end
mybattmon.text = " " .. battery_status() .. " "
-- every 30 sec call the fucntion battery_status()
my_battmon_timer=timer({timeout=30}) 
my_battmon_timer:add_signal("timeout", function()
    mybattmon.text = " " .. battery_status() .. " "
end)
my_battmon_timer:start()

and I must say Lua is really good scripting language.
The original code works with multiple batteries and can be found here
Published on May 31, 2011 by Mite Mitreski
Updated on 5/31/2011 05:33:00 PM

Today I learned about YouTube Snake

Apparently you can play snake on YouTube while the clip is playing or loading.
I acceptedly found this Easter Egg while using the up key.
There is a web site for this http://www.youtubesnake.com/.
Also it's been a while here since 2010.
When a video is selected, press the [left] key for two seconds and [up] key. 
So play it now :)
Published on May 24, 2011 by Mite Mitreski
Updated on 5/24/2011 12:43:00 AM

Comodore on projector

Comodore on projector by Mite.Mitreski
Comodore on projector, a photo by Mite.Mitreski on Flickr.

Comodore on projector

Published on May 17, 2011 by Mite Mitreski
Updated on 5/17/2011 12:14:00 AM

Inside look at amilo xa 3530

Inside look at amilo xa 3530. This is pobably one of the worldst worst laptops. Low qualty plastic, bad desgin, overheating issues and finaly now its dead. Fujitsu-simens should not be allowed to write "design in Germany" on such low qualiy products

Published with Blogger-droid v1.6.8
Published on May 4, 2011 by Mite Mitreski
Updated on 5/04/2011 03:40:00 AM

Pimp my bike

LED on bike
Published with Blogger-droid v1.6.8
Published on May 3, 2011 by Mite Mitreski
Updated on 5/03/2011 05:58:00 AM

Firefox release party

Firefox release party by Mite.Mitreski
Firefox release party, a photo by Mite.Mitreski on Flickr.

Firefox release party, a few week old but still great

Published on May 1, 2011 by Mite Mitreski
Updated on 5/01/2011 03:01:00 AM