#!/usr/bin/bash # Outputs a configuration for lemonbar trap 'Update' 5 background="#2D2D2D" Format() { echo "%{+u}%{B$background} $1 %{B}%{-u}" } Workspaces() { desktops=$(bspc query -D --names) focused=$(bspc query -D --names -d focused) for desktop in $desktops; do desktop=$(echo "$desktop") nodes=$(bspc query -N -d $desktop) if [ ! -z "$nodes" ]; then desktops=$(echo $desktops | sed "s/$desktop/%{F#ff0000}$desktop%{F-}/") fi done desktops=$(echo $desktops | sed "s/$focused/%{B$background}%{+u}_$focused\_%{-u}%{B-}/") echo $desktops | sed "s/_/ /g" } CpuTemp() { temp=$(sensors | grep "Tdie" | sed "s/Tdie: *+//;s/°C *//") if [ 1 -eq "$(echo "$temp > 80" | bc)" ]; then printf "%%{F#ed0b0b}" elif [ 1 -eq "$(echo "$temp > 60" | bc)" ]; then printf "%%{F#f2e421}"; fi Format ""$temp"°C%{F-}" } Cpu() { usage=$(mpstat | sed '1,3d;s/.* //') output="$(calc 100 - $usage)" Format "$output" } Clock(){ DATE=$(date "+%d/%m/%y") TIME=$(date "+%I:%M:%S") Format "${DATE} ${TIME}" } ActiveWindow(){ printf " $(xdotool getwindowfocus getwindowname)" } Packages() { Format "$(sudo pacman -Qu | wc -l)" } Subs() { #Format "$(polysubs)" Format "7.42k 116" } Memory() { echo "%{A:$TERMINAL -e htop:}$(Format "$(i3memory)")%{A}" } Sound(){ device=$(pulsedevices | grep "pci-0000_0b" -A 2) mute=$(echo "$device" | grep "Mute" | awk '{ print $2 }') vol=$(echo "$device" | grep "front-left" | awk '{ print $5 }') output="" if [ "$mute" = "yes" ]; then output="🔇 mute" elif [ "$(echo "$vol" | tr -d "%")" -gt 70 ]; then output="🔊 $vol" elif [ "$(echo "$vol" | tr -d "%")" -gt 35 ]; then output="奔 $vol" else output="🔈 $vol" fi Format "$output" } Weather() { Format $(cat ~/.cache/weather) } NewModule() { echo "%{B#aef4e3}%{+u}Hello World%{-u}%{B}" } Update() { echo -e "%{l}$(Workspaces) $(ActiveWindow) %{r} $(Packages) $(Subs) $(Cpu) $(CpuTemp) $(Memory) $(Sound) $(Weather) $(Clock)" #echo -e "%{r} $(NewModule)" } while true; do Update sleep 5s & wait done