Commit 68a14e5b authored by Dylan Araps's avatar Dylan Araps

Haiku: Added battery support

parent 342942e7
...@@ -310,53 +310,54 @@ getuptime() { ...@@ -310,53 +310,54 @@ getuptime() {
uptime="$(uptime -u)" uptime="$(uptime -u)"
uptime="${uptime/up }" uptime="${uptime/up }"
;; ;;
*)
# Get uptime in seconds
case "$os" in
"Linux" | "Windows")
seconds="$(< /proc/uptime)"
seconds="${seconds/.*}"
;;
"Mac OS X" | "iPhone OS" | "BSD") *)
boot="$(sysctl -n kern.boottime)" # Get uptime in seconds
boot="${boot/'{ sec = '}" case "$os" in
boot="${boot/,*}" "Linux" | "Windows")
seconds="$(< /proc/uptime)"
seconds="${seconds/.*}"
;;
# Get current date in seconds "Mac OS X" | "iPhone OS" | "BSD")
now="$(date +%s)" boot="$(sysctl -n kern.boottime)"
seconds="$((now - boot))" boot="${boot/'{ sec = '}"
;; boot="${boot/,*}"
"Solaris") # Get current date in seconds
seconds="$(kstat -p unix:0:system_misc:snaptime | awk '{print $2}')" now="$(date +%s)"
seconds="${seconds/.*}" seconds="$((now - boot))"
;; ;;
esac
"Solaris")
seconds="$(kstat -p unix:0:system_misc:snaptime | awk '{print $2}')"
seconds="${seconds/.*}"
;;
esac
days="$((seconds / 60 / 60 / 24)) days" days="$((seconds / 60 / 60 / 24)) days"
hours="$((seconds / 60 / 60 % 24)) hours" hours="$((seconds / 60 / 60 % 24)) hours"
minutes="$((seconds / 60 % 60)) minutes" minutes="$((seconds / 60 % 60)) minutes"
case "$days" in case "$days" in
"0 days") unset days ;; "0 days") unset days ;;
"1 days") days="${days/s}" ;; "1 days") days="${days/s}" ;;
esac esac
case "$hours" in case "$hours" in
"0 hours") unset hours ;; "0 hours") unset hours ;;
"1 hours") hours="${hours/s}" ;; "1 hours") hours="${hours/s}" ;;
esac esac
case "$minutes" in case "$minutes" in
"0 minutes") unset minutes ;; "0 minutes") unset minutes ;;
"1 minutes") minutes="${minutes/s}" ;; "1 minutes") minutes="${minutes/s}" ;;
esac esac
uptime="${days:+$days, }${hours:+$hours, }${minutes}" uptime="${days:+$days, }${hours:+$hours, }${minutes}"
uptime="${uptime%', '}" uptime="${uptime%', '}"
uptime="${uptime:-${seconds} seconds}" uptime="${uptime:-${seconds} seconds}"
;; ;;
esac esac
# Make the output of uptime smaller. # Make the output of uptime smaller.
...@@ -1735,6 +1736,12 @@ getbattery() { ...@@ -1735,6 +1736,12 @@ getbattery() {
[ "$battery" ] && \ [ "$battery" ] && \
battery+="%" battery+="%"
;; ;;
"Haiku")
battery0full="$(awk -F '[^0-9]*' 'NR==2 {print $4}' /dev/power/acpi_battery/0)"
battery0now="$(awk -F '[^0-9]*' 'NR==5 {print $4}' /dev/power/acpi_battery/0)"
battery="$((battery0full / battery0now * 100))%"
;;
esac esac
case "$battery_state" in case "$battery_state" in
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment