From: Martin Pirker Date: 2004-08-24T06:05:42+09:00 Subject: Re: ruby + linux /proc/acpi deadlock? William Morgan wrote: > I'm working on a predictive battery monitor in Ruby. back when I was starting in Ruby one of the first small tries was... (fix code first, terminal is eating some chars) run with no window decoration not very pretty, but does the job till today :-) Martin -------------------------------------------------------------------------- $stdout.sync = true def resize (w,h) # resize terminal printf("\033[8;#{h};#{w}t") end def readme r1 = IO.readlines("/proc/acpi/battery/BAT1/state").grep(/remaining/) r1 = /\s*(\d*)\smWh/.match(r1[0])[1].to_s if r1.size == 1 return r1 end resize (10,1) r = IO.readlines("/proc/acpi/battery/BAT1/state") if /present.+no/ === r[0] then printf("\n no batt ") sleep 3 exit 1 end or1 = readme printf("\n%s 000",or1.rjust(5).tr(" ","0")) nr1 = readme loop do nr1 = readme if (nr1 != or1) if or1.to_i <3000 then 'xgamma -gamma 0.3' # <---- fix me! sleep 0.3 'xgamma -gamma 1.0' # <---- fix me! end printf("\n%s %s",nr1.rjust(5).tr(" ","0"),(or1.to_i-nr1.to_i).to_s.rjust(3).tr(" ","0")) or1 = nr1 end sleep 15 end