GREY="#5f5f5f" WHITE="#9b9081" WHITE2="#b3b3b3" BLACK="#181b20" RED="#6b4a49" BLUE="#435861" GREEN="#6f6749" GREEN2="#6d6137" BROWN="#776049" buildClock() { echo -n "%{F$WHITE2}$(date "+%A, %e %B, %k:%M")" } getVolume() { ONOFF=$(amixer get Master | cut -d$'\n' -f 5 | cut -d ' ' -f 8) VOLUME=$(amixer get Master | sed -n 's/^.*\[\([0-9]\+\)%.*$/\1/p' | uniq) COLOR= if [ $ONOFF == "[off]" ]; then COLOR=$RED elif [ $VOLUME -gt 60 ]; then COLOR=$GREEN2 elif [ $VOLUME -gt 35 ]; then COLOR=$GREEN else COLOR=$GREY fi VOLUME=$(spark $VOLUME 0 100 | tail -n 1 | cut -b1-3) echo -n "%{F$COLOR}$VOLUME" } getMPD(){ MPD1=$(mpc | cut -d$'\n' -f1) MPD2=$(mpc | cut -d$'\n' -f2) PERC=$(echo "$(echo $MPD2 | cut -d ' ' -f4 | cut -b2-3 | cut -d '%' -f1) 0 100" | spark | tail -n 1 | cut -b1-3) #PERC=$(echo "$(echo $MPD2 | cut -d ' ' -f4 | cut -b2-3 | cut -d '%' -f1) 0 100" | spark | cut -b 1-3) if [ "$(mpc | wc -l)" -gt 1 ]; then echo -n "%{F$BLUE}♫ %{F$BROWN}$MPD1 %{F$BLUE}♫ $PERC %{F$GREY}$(echo -n $MPD2 | cut -d ' ' -f1,2)" fi } getNET(){ NDATA=$(connmanctl services | grep "*A") NSTATE=$(echo $NDATA | cut -b3) NNAME=$(echo $NDATA | cut -d' ' -f2) if [ "$NSTATE" == "c" ]; then NCOLOR="$GREY" elif [ "$NSTATE" == "R" ]; then NCOLOR="$BLUE" elif [ "$NSTATE" == "O" ]; then NCOLOR="$GREEN" else NCOLOR="$RED" fi if [ "$NCOLOR" == "$RED" ]; then echo -n "%{F$RED}Offline" else echo -n "%{F$NCOLOR}$NNAME" fi } getDISK(){ echo -n "%{F$BLUE}$(echo "$(du -ms ~ | cut -d$'\t' -f1)/1000" | bc) GB" } separator(){ echo -n "%{F$GREY}◆" } getLOAD(){ LOAD=$(echo -n "$(cat /proc/loadavg | cut -d ' ' -f 1-3) $(egrep -c '^processor' /proc/cpuinfo)00 0" | sed 's/\(0\.\|0\.0\|\.\)//g' | sed 's/800/300/g' | spark | tail -n 1 | cut -b 1-9) echo -n "%{F$BLUE}$LOAD" } getMEM(){ total=$(grep 'MemTotal' /proc/meminfo | egrep -o '[0-9]+') not_apps=0 for mem in $(egrep '(MemFree|Buffers|Cached|Slab|PageTables|SwapCached)' /proc/meminfo | egrep -o '[0-9]+'); do not_apps=$((not_apps+mem)) done USEDMEM=$(echo "$((total-not_apps))/1000" | bc) echo -n "%{F$BLUE}$USEDMEM MB" } getBAT(){ BAT=$(acpi -b | cut -d ' ' -f4) if [ $BAT != "100" ]; then BAT=$(echo "$BAT" | cut -d '%' -f1) fi echo -n "%{F$GREY}$BAT $(echo $BAT 0 100 | spark | cut -b 1-3)" } buildBar () { while true do echo " $(getMPD) %{c}$(buildClock) %{r} $(getLOAD) $(separator) $(getMEM) $(separator) $(getDISK) $(separator) $(getNET) $(separator) $(getVolume) $(separator) $(getBAT) " sleep 5 done } SCREENX=$(echo "$(xrandr --current | grep \* | cut -b 4-7) - 48" | bc) buildBar | lemonbar -p -g "$SCREENX+24+8" -B "$BLACK" -F "$GREY" -f "xft:DejaVu Sans Mono:pixelsize=24"