#!/bin/sh __cleanup_value() { cat /dev/stdin | sed 's/%//g' } uname=$(uname) status="" battery="" battery_status="" time="" volume="" vpn="" 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 | tr -s " " "\n" | grep "%" | sed 's/[%,]//g') battery_status=$(acpi -a | tr -s " " | cut -d " " -f 3) volume=$(pamixer --get-volume | __cleanup_value) if $(pamixer --get-mute); then volume="%mute" fi ;; esac status="VOL: ${volume}%" vpn="" ! wg && vpn="wireguard" pgrep openvpn && vpn="openvpn" if [ -n "${vpn}" ]; then status="${status} | VPN: ${vpn}" fi if [ -n "${battery}" ]; then status="${status} | BATTERY ${battery}%" fi time=$(date +%Y-%m-%dT%H:%M:%S) status="${status} | DATE: ${time}" echo "${status}" xsetroot -name " ${status}" [ "${1}" != "-l" ] && exit 0 sleep 5 done