From 4af7e789e3afd4b9a7afb81a6cde31c37386e5c4 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Tue, 12 Jun 2012 19:08:49 +0100 Subject: [PATCH 1/1] better output in tooltip --- utils.tcl | 34 ++++++++++++++++++++++++++++++++++ xbatmon-simple-tray | 24 ++++++++++++------------ 2 files changed, 46 insertions(+), 12 deletions(-) create mode 100644 utils.tcl diff --git a/utils.tcl b/utils.tcl new file mode 100644 index 0000000..211774c --- /dev/null +++ b/utils.tcl @@ -0,0 +1,34 @@ + +proc manyset {list args} { + foreach val $list var $args { + upvar 1 $var my + set my $val + } +} + +namespace eval debug { + +# Debug: +# +# Caller may call +# debug::setup ON-DEBUG +# which will result in calls to [concat ON-DEBUG [list MESSAGE]] +# (or ON-DEBUG may be "" in which case messages are discarded) +# +# And caller may call +# debug::debug MSG + +variable debug {} + +proc debug {m} { + variable debug + if {![llength $debug]} return + set ns [uplevel 1 namespace current] + uplevel #0 $debug [list "DEBUG $ns $m"] +} + +proc setup {d} { + variable debug $d +} + +} diff --git a/xbatmon-simple-tray b/xbatmon-simple-tray index b245b0e..9f2cdba 100755 --- a/xbatmon-simple-tray +++ b/xbatmon-simple-tray @@ -34,14 +34,14 @@ proc tt-show {} { applet::tooltip-set [tt-string] } -proc append-energies {av energy power eunit punit} { +proc append-energies {av energy power eunit punit fmt} { upvar 1 o o upvar 1 $av a - append o [format " %.0f%s / %.0f%s / %.0f%s %.0f%s" \ - [expr { $a(${energy}_NOW) * 1e-3 }] $eunit \ - [expr { $a(${energy}_FULL) * 1e-3 }] $eunit \ - [expr { $a(${energy}_FULL_DESIGN) * 1e-3 }] $eunit \ - [expr { $a(${power}_NOW) * 1e-3 }] $punit] + append o [format " ${fmt}%s / ${fmt}%s / ${fmt}%s ${fmt}%s" \ + [expr { $a(${energy}_NOW) * 1e-6 }] $eunit \ + [expr { $a(${energy}_FULL) * 1e-6 }] $eunit \ + [expr { $a(${energy}_FULL_DESIGN) * 1e-6 }] $eunit \ + [expr { $a(${power}_NOW) * 1e-6 }] $punit] } proc append-percents {qv} { @@ -89,7 +89,7 @@ proc tt-string {} { if {$nbatts} { set o "Total: $nbatts present " append o [join [lsort [array names states]] /] - append-energies tot energy power mWh mW + append-energies tot energy power Wh W %.1f append-percents tot lappend lines $o } @@ -99,7 +99,7 @@ proc tt-string {} { return [join $lines "\n"] } -proc compute {power energy factor punit eunit sign} { +proc compute {power energy factor punit eunit sign fmt} { upvar 1 a a upvar 1 q q upvar 1 tot tot @@ -123,7 +123,7 @@ proc compute {power energy factor punit eunit sign} { if {![info exists tot($kq)]} { set tot($kq) 0 } set tot($kq) [expr {$tot($kq) + $q($kq)}] } - append-energies a $energy $power $eunit $punit + append-energies a $energy $power $eunit $punit $fmt append-percents q return 1 } @@ -167,13 +167,13 @@ proc tt-info {chan} { set states($a(STATUS)) 1 append o $a(STATUS) foreach power {POWER CURRENT} energy {ENERGY CHARGE} \ - punit {mW mA} eunit {mWh mAh} { + punit {W A} eunit {Wh Ah} fmt {%.1f %.2f} { switch -exact $power { POWER { set factor 1.0 } CURRENT { set factor [expr {$a(VOLTAGE_NOW) * 1e-6}] } } - if {![compute $power $energy $factor $punit $eunit $sign]} \ - continue + if {![compute $power $energy $factor \ + $punit $eunit $sign $fmt]} continue incr nbatts } } -- 2.30.2