File pm-utils-1.4.1-vtXX-upower-battery-AC-adapter.patch of Package pm-utils.import5908
Index: pm-utils-suse/bin/powersave
===================================================================
--- pm-utils-suse.orig/bin/powersave
+++ pm-utils-suse/bin/powersave
@@ -54,7 +54,7 @@ function upower_enumerate_batteries() {
continue
fi
# type 2 is battery
- if upower_device_get_property "${DEVICE}" String:Type 2>/dev/null | grep -q "2$"; then
+ if upower_device_get_property "${DEVICE}" string:Type 2>/dev/null | grep uint | grep -q "2$"; then
echo "${DEVICE}"
fi
done
@@ -63,7 +63,7 @@ function upower_enumerate_batteries() {
# print the ac_adapter found on system
# Note: it prints the first match, as it expects only one per machine
function upower_find_ac_adapter() {
- for DEVICE in $(upower_call_method org.freedesktop.UPower.EnumerateDevices); do
+ for DEVICE in $(upower_call_method org.freedesktop.UPower.EnumerateDevices | grep -o '/org[A-Za-z0-9/_]*'); do
# type 1 is Line Power
if upower_device_get_property "${DEVICE}" string:Type 2>/dev/null | grep -q "1$"; then
echo "${DEVICE}"
@@ -193,20 +193,24 @@ function hal_battery_info {
done
}
+function dbus-getv {
+ sed -n "s#.*[ \t]*$1[0-9]*[ \t]*##p"
+}
+
function upower_battery_info {
C=1
for BATTERY in `upower_enumerate_batteries`; do
- SEC=`upower_device_get_property "${BATTERY}" TimeToEmpty`
+ let SEC="`upower_device_get_property "${BATTERY}" string:TimeToEmpty | dbus-getv int`"
if [ $SEC -ne 0 ]; then
let MIN=SEC/60
else
MIN=0
fi
- PERC=`upower_device_get_property "${BATTERY}" Percentage`
+ PERC=`upower_device_get_property "${BATTERY}" string:Percentage | dbus-getv double`
- case `upower_device_get_property "${BATTERY}" State` in
+ case `upower_device_get_property "${BATTERY}" string:State | dbus-getv uint` in
1) STATE="Charging" ;;
2) STATE="Discharging" ;;
3) STATE="Empty" ;;
@@ -217,7 +221,7 @@ function upower_battery_info {
esac
echo "Battery$C:"
- echo -e "\t Remaining percent: $PERC"
+ echo -e "\t Remaining percent: $PERC%"
echo -e "\t Remaining minutes: $MIN"
echo -e "\t Charging state: $STATE"