Split up in multiple files
[amazing.git] / lib / amazing / widgets / battery.rb
blob8a2a8f43b49a23909fed2f21a017dbf4fab2ab53
1 # Copyright (C) 2008 Dag Odenhall <dag.odenhall@gmail.com>
2 # Licensed under the Academic Free License version 3.0
4 require 'amazing/widget'
5 require 'amazing/proc_file'
7 module Amazing
8   module Widgets
9     class Battery < Widget
10       description "Remaining battery power in percentage"
11       option :battery, "Battery number", 1
12       field :percentage, "Power percentage", 0
13       default "@percentage"
15       init do
16         batinfo = ProcFile.new("acpi/battery/BAT#@battery/info")[0]
17         batstate = ProcFile.new("acpi/battery/BAT#@battery/state")[0]
18         remaining = batstate["remaining capacity"].to_i
19         lastfull = batinfo["last full capacity"].to_i
20         @percentage = (remaining * 100) / lastfull.to_f
21       end
22     end
23   end
24 end