#!/bin/sh # # Example panel for LemonBoy's bar PATH=$PATH:"$PANEL_CONFIG_DIR" source panel_colors num_mon=$(bspc query -M | wc -l) divider=' | ' while sleep 1; do # bspwm internal state wm_info="" IFS=':' read -r -a wm_data <<< "$(bspc control --get-status)" for item in "${wm_data[@]}"; do name=${item#?} case $item in M*) # active monitor if [ $num_mon -gt 1 ] ; then wm_info="$wm_info %{F$COLOR_ACTIVE_MONITOR_FG}%{B$COLOR_ACTIVE_MONITOR_BG} ${name} %{B-}%{F-} " fi ;; m*) # inactive monitor if [ $num_mon -gt 1 ] ; then wm_info="$wm_info %{F$COLOR_INACTIVE_MONITOR_FG}%{B$COLOR_INACTIVE_MONITOR_BG} ${name} %{B-}%{F-} " fi ;; O*) # focused occupied desktop wm_info="${wm_info}%{F$COLOR_FOCUSED_OCCUPIED_FG}%{B$COLOR_FOCUSED_OCCUPIED_BG}%{U$COLOR_FOREGROUND}%{+u} ${name} %{-u}%{B-}%{F-}" ;; F*) # focused free desktop wm_info="${wm_info}%{F$COLOR_FOCUSED_FREE_FG}%{B$COLOR_FOCUSED_FREE_BG}%{U$COLOR_FOREGROUND}%{+u} ${name} %{-u}%{B-}%{F-}" ;; U*) # focused urgent desktop wm_info="${wm_info}%{F$COLOR_FOCUSED_URGENT_FG}%{B$COLOR_FOCUSED_URGENT_BG}%{U$COLOR_FOREGROUND}%{+u} ${name} %{-u}%{B-}%{F-}" ;; o*) # occupied desktop wm_info="${wm_info}%{F$COLOR_OCCUPIED_FG}%{B$COLOR_OCCUPIED_BG} ${name} %{B-}%{F-}" ;; f*) # free desktop # wm_info="${wm_info}%{F$COLOR_FREE_FG}%{B$COLOR_FREE_BG} ${name} %{B-}%{F-}" ;; u*) # urgent desktop wm_info="${wm_info}%{F$COLOR_URGENT_FG}%{B$COLOR_URGENT_BG} ${name} %{B-}%{F-}" ;; L*) # layout # wm_info="$wm_info %{F$COLOR_LAYOUT_FG}%{B$COLOR_LAYOUT_BG} ${name} %{B-}%{F-}" ;; esac done pa_status=$(pulseaudio-ctl full-status) volume=$(echo $pa_status | cut -d' ' -f1) muted=$(echo $pa_status | cut -d' ' -f2 | sed -e 's/yes/-/' -e 's/no/%%/') battery=$(acpi --battery | cut -d, -f2 | tr -d ' ')'%' clock=$(date '+%a %d %b %H:%M:%S') battery_info="%{F$COLOR_STATUS_FG}%{B$COLOR_STATUS_BG} ${battery} %{B-}%{F-}" volume_info="%{F$COLOR_STATUS_FG}%{B$COLOR_STATUS_BG} ${volume}${muted} %{B-}%{F-}" clock_info="%{F$COLOR_STATUS_FG}%{B$COLOR_STATUS_BG} ${clock} %{B-}%{F-}" printf "%s\n" "%{l}${wm_info}%{c}${title}%{r}${battery_info}${divider}${volume_info}${divider}${clock_info}" done