103 lines
2.6 KiB
Bash
Executable File
103 lines
2.6 KiB
Bash
Executable File
GREY="#5f5f5f"
|
|
WHITE="#93a1a1"
|
|
WHITE2="#fdf6e3"
|
|
BLACK="#181b20"
|
|
RED="#dc322f"
|
|
BLUE="#2aa198"
|
|
GREEN="#859900"
|
|
BROWN="#b58900"
|
|
FG="#586e75"
|
|
BG="#dfdfdf"
|
|
|
|
buildClock() {
|
|
echo -n "%{F$FG}$(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
|
|
else
|
|
COLOR=$FG
|
|
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#6c71c4}$MPD1 %{F$BLUE}♫ $PERC %{F$FG}$(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="$BLACK"
|
|
elif [ "$NSTATE" == "R" ]; then
|
|
NCOLOR="$BLUE"
|
|
elif [ "$NSTATE" == "O" ]; then
|
|
NCOLOR="$FG"
|
|
else
|
|
NCOLOR="$RED"
|
|
fi
|
|
|
|
if [ "$NCOLOR" == "$RED" ]; then
|
|
echo -n "%{F$RED}Offline"
|
|
else
|
|
echo -n "%{F$NCOLOR}$NNAME"
|
|
fi
|
|
}
|
|
|
|
getDISK(){
|
|
echo -n "%{F$FG}$(echo "$(du -ms ~ | cut -d$'\t' -f1)/1000" | bc) GB"
|
|
}
|
|
|
|
separator(){
|
|
echo -n " "
|
|
}
|
|
|
|
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$FG}$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$FG}$USEDMEM MB"
|
|
}
|
|
|
|
getBAT(){
|
|
BAT=$(acpi -b | head -n1 | cut -d ' ' -f4 | cut -d '%' -f1)
|
|
echo -n "%{F$FG}$BAT $(echo $BAT 0 100 | spark | cut -b 1-3)"
|
|
}
|
|
|
|
getWORKSPC(){
|
|
FOC="$(bspc query -D -d focused)"
|
|
echo -n "%{B$FG}%{F$BG} $FOC %{B$BG}"
|
|
}
|
|
|
|
buildBar () {
|
|
while true
|
|
do
|
|
echo " $(getMPD) %{c}$(buildClock) %{r} $(getLOAD) $(separator) $(getMEM) $(separator) $(getDISK) $(separator) $(getNET) $(separator) $(getVolume) $(separator) $(getBAT) "
|
|
sleep 5
|
|
done
|
|
}
|
|
|
|
buildBar | lemonbar -p -g "1890x20+15" -B "#dfdfdf" -F "$FG" -f "xft:DejaVu Sans Mono:size=11"
|