#! /bin/bash tsarc config -font "CommitMono:pixelsize=15" tsarc config -height 20 tsarc config -bg "#101010" tsarc config -gap 10 tsarc set ~ -text "~" tsarc set ~ -fg "#888888" tsarc set ram -fg "#888888" tsarc set vol -fg "#888888" tsarc set player -fg "#888888" tsarc set window -bg "#FFFFFF" tsarc set window -fg "#000000" tsarc set window -margin 25 tsarc set cwkspace -bg "#FFFFFF" tsarc set cwkspace -fg "#000000" tsarc set cwkspace -margin 2 tsarc layout \ -left lwkspace cwkspace rwkspace ~ player \ -center window \ -right ram ~ vol ~ clock trim() { read -r text echo "$text" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' } workspace() { focused_ws=`bspc query -D --names -d focused` ws=`bspc query -D --names | tr '\n' ' '` lws=`echo $ws | awk -F$focused_ws '{print $1}'` rws=`echo $ws | awk -F$focused_ws '{print $2}'` tsarc set lwkspace -text " $lws" tsarc set cwkspace -text "$focused_ws" tsarc set rwkspace -text "$rws" } window_name() { win_id=$(bspc query -N -n focused) if [[ -n "$win_id" ]]; then title=`xtitle $win_id \ | awk 'length > 64{$0=substr($0,0,64)"..."}1' \ | tr '[:upper:]' '[:lower:]'` tsarc set window -text "$title" -fg "#000000" -bg "#FFFFFF" else tsarc set window -text "no window focused" -fg "#CCCCCC" -bg "#404040" fi } bspc subscribe desktop_focus desktop_add desktop_remove \ | while read -r _; do workspace done & volume() { tsarc set vol -text \ "vol `pactl get-sink-volume @DEFAULT_SINK@ | awk 'NR==1{printf "%s", $5}'`" } volume pactl subscribe \ | while read -r line; do case "$line" in *"Event 'change' on sink #"*|*"Event 'change' on source #"*) volume while read -t 0.01 -r _; do :; done esac done & playerctl -F metadata -f "{{lc(status)}} {{lc(title)}} - {{lc(artist)}}" \ | while read -r line; do status=`echo $line | awk '{ print $1 }'` case "$status" in "paused") tsarc set player -text "no media" esac case "$status" in "playing") tsarc set player -text \ "`echo $line | awk 'match($0, $1) {print substr($0, RSTART+RLENGTH)}' | trim`" esac done & while true; do tsarc set ram -text "ram `free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2}'`" tsarc set clock -text "`date +"%a %b %d, %r" | tr '[:upper:]' '[:lower:]'` " window_name sleep 1 done