Hier ein weiterer Tipp für awesome: der Laptop Batteriestatus soll angezeigt werden. Zuerst kopiert man das von mir gestern programmierte Tool cbatt nach /home/name/cbatt.sh, dann trägt man folgendes in der rc.lua ein:
mybattmon = widget({ type = "textbox", name = "mybattmon", align = "right" }) function battery_status () local fd=io.popen("/home/name/cbatt.sh", "r") local line=fd:read() return line end mybattmon.text = " " .. battery_status() .. " " my_battmon_timer=timer({timeout=30}) my_battmon_timer:add_signal("timeout", function() mybattmon.text = " " .. battery_status() .. " " end) my_battmon_timer:start() |
Unter mywibox[s].widgets = { … } fügt man dann noch an der gewünschten Stelle mybattmon hinzu, und fertig ist die Chose. Der Timeout legt fest, wie oft das Script aufgerufen wird; jede Sekunde wäre m.A. arg übertrieben und verkürzt die Akkulaufzeit sicherlich.
Wer wie im Vorpost mehrere Rechner hat, und die Batterieanzeige z.B. nur auf dem Laptop anzeigen will, nutzt folgenden Schnippsel um das Ganze zu erweitern:
-- hostname auslesen a=io.popen("uname -n"); io.input(a) if io.read() == "laptop" then batt=1 end -- Add widgets to the wibox - order matters mywibox[s].widgets = { { mylauncher, mytaglist[s], mypromptbox[s], layout = awful.widget.layout.horizontal.leftright }, mylayoutbox[s], mytextclock, batt == 1 and mybattmon, -- Batterie nur beim richtigen Host hinzufügen s == 1 and mysystray or nil, mytasklist[s], layout = awful.widget.layout.horizontal.rightleft } |
da ich rot bei ladenden akku etwas irritierend finde und keinen github account habe:
floh@fc6u:/tmp/cbatt$ git diff 2e85ee492d93e70708edca4e7e2f0d93cb114046 -- cbatt.sh diff --git a/cbatt.sh b/cbatt.sh
index e8da5b7..537af4f 100755
--- a/cbatt.sh
+++ b/cbatt.sh
@@ -8,10 +8,30 @@ echo -n '['
if [ "$1" = "color" ]
then
- echo -n ''
+## first check for charging, then specify color
+# echo -n ''
+ COLOR=true
+else
+ COLOR=false
fi
-grep -q 1 /sys/class/power_supply/AC/online && echo -n "+"
+if grep -q 1 /sys/class/power_supply/AC/online
+then
+ CHARGING=true
+else
+ CHARGING=false
+fi
+
+if $COLOR
+then
+ if $CHARGING; then
+ echo -n ''
+ else
+ echo -n ''
+ fi
+fi
+
+$CHARGING && echo -n "+"
acpiout=$(acpi)
if [ -n "$(echo -n ${acpiout} | grep 'charging at zero rate - will never fully charge.')" ]
@@ -37,4 +57,3 @@ then
fi
echo -n ']'
-
wenn man sich die muehe mit dem $COLOR macht sollte man es natuerlich auch nochmail am ende benutzen… grml…
+if $COLOR
+then
+ if $CHARGING; then
+ echo -n ”
+ else
+ echo -n ”
+ fi
+fi
Was soll der part denn?
Je nachdem ob ge- oder entladen wird ein span-tag mit color=green bzw color=red ausgeben. Dem CMS haben diese Tags natuerlich nicht geschmeckt und es hat sie rausgefiltert. Ich probierse mal zu escapen:
if $COLOR
then
if $CHARGING; then
# ‘span color=”green”‘ when charging
echo -n ‘\’
else
# ‘span color=red’ when discharging
echo -n ‘\’
fi
fi
wie sie sehen, sehnse nix… is ja gut, gibs gleich auf github…
Forke es ruhig, ich will es mit dem + davor lassen, gefällt mir besser.