#!/bin/sh __cleanup_value() { cat /dev/stdin | sed 's/%//g' } uname=$(uname) battery="" battery_status="" time="" volume="" while true; do case "${uname}" in OpenBSD) battery=$(apm -l) battery_status=$(apm | grep "A/C" | cut -d ":" -f 2 | tr -d " ") volume=$(sndioctl -n output.level | cut -c 3-4) ;; Linux) battery=$(acpi -b | cut -d " " -f 4 | __cleanup_value) battery_status=$(acpi -a | tr -s " " | cut -d " " -f 3) volume=$(pamixer --get-volume | __cleanup_value) if $(pamixer --get-mute); then volume_status="__mute__" fi ;; esac time=$(date +%Y-%m-%dT%H:%M:%S) status="VOL: ${volume}%" if [ -n "${battery}" ]; then status="${status} | BATTERY ${battery}%" fi status="${status} | DATE: ${time}" echo "${status}" xsetroot -name " ${status}" [ "${1}" != "-l" ] && exit 0 sleep 5 done