#!/bin/sh ### Created by Amdac @ www.amdac.net ### This script was written to populate lemonbar ### OpenBSD / herbstluftwm version c1="#f0f0f0" c2="#99ccee" c3="#ffff60" # yellow bg="#343850" bg1="#223350" bg2="#405070" work() { set -A workspaces $(herbstclient tag_status 2> /dev/null) for i in ${workspaces[*]} do case $(echo $i | cut -c1-1) in \#) i='%{F#ffff60}%{B#405070} '$(echo $i | cut -c2-)' %{B#223350}' ;; # current :) i='%{F#99ccee} '$(echo $i | cut -c2-)' %{B#223350}' ;; # active !) i='%{F#ff4444} '$(echo $i | cut -c2-)' %{B#223350}' ;; # urgent .) i='%{F#666666} '$(echo $i | cut -c2-)' %{B#223350}' ;; # inactive esac [[ -n $i ]] && work="$work $i" done echo "["$work" %{F$c2}]" } title() { title=$(herbstclient get_attr clients.focus.title 2> /dev/null) [[ -n $title ]] && echo $title || echo "Empty Frame " } vol() { mute=$(sndioctl -n output.mute) if [ $mute = "1" ]; then echo "VOL: [mute]" else volume=$(sndioctl -n output.level | sed 's/\.// ; s/^0*//') [[ -n $volume ]] || volume=0 echo "VOL: [$((${volume} /10))%]" fi } mem() { memused=$(top -d 1 | awk '/^Memory/ {print $3}' | sed 's/\/.*//') case $(echo $memused | tail -c 2) in M) echo "MEM: [$(echo $memused | sed 's/.$//') MB]" ;; G) echo "MEM: [$(echo $memused | sed 's/.$//') GB]" ;; esac } temp() { zone0="$(sysctl hw.sensors.cpu0.temp0 | sed 's/.*=// ; s/\..*/°C/')" echo "TEMP: [$zone0]" } bat() { level="$(apm -l)" charging="$(apm -a)" [[ $charging = 1 ]] && echo "BAT: [${level}%]^" || echo "BAT: [${level}%]v" } dte() { dte=$(date +'%a %b %d [%R]') echo $dte } btc() { echo BTC: [\$$(cat ~/crypto/btc) CAD] } cro() { echo CRO: [\$$(cat ~/crypto/cro) CAD] } update() { echo "%{l}%{B$bg1}%{F$c2} $(work) %{B$bg1} $(title) %{r}%{F$c1}%{B$bg2} $(cro) %{B$bg1} $(btc) %{B$bg2} $(mem) %{B$bg1} $(temp) %{B$bg2} $(bat) %{B$bg1} $(vol) %{B$bg2} $(dte) %{B$bg1}" } while (true); do update sleep 1 done