add bin scripts
This commit is contained in:
parent
d37834a164
commit
211ba8a0b0
16 changed files with 349 additions and 53 deletions
91
bin/bar.sh
Executable file
91
bin/bar.sh
Executable file
|
|
@ -0,0 +1,91 @@
|
|||
#!/bin/bash
|
||||
trap \
|
||||
"{ pkill -P $$ ; exit 255; }" \
|
||||
SIGINT SIGTERM ERR EXIT
|
||||
|
||||
bat() {
|
||||
battery=$(cat /sys/class/power_supply/BAT0/capacity)
|
||||
time=$(cat /tmp/.battime)
|
||||
drain=$(cat /sys/class/power_supply/BAT0/power_now)
|
||||
if [[ $(cat /sys/class/power_supply/BAT0/status) == "Charging" ]]; then
|
||||
echo "$battery%+"
|
||||
else
|
||||
echo "$time, $battery%$charge, $(echo "scale=1; $drain / 1000000" | bc)mW"
|
||||
fi
|
||||
}
|
||||
|
||||
time_date() {
|
||||
FORMAT="%a %m.%d.%y %T"
|
||||
DATE=`date "+${FORMAT}"`
|
||||
echo "${DATE}"
|
||||
}
|
||||
|
||||
mem() {
|
||||
echo "scale=2; $(free -m | sed -n 2p | awk '{print $3 + $5}') / 1000" | bc
|
||||
}
|
||||
|
||||
vol() {
|
||||
MUTED=$(amixer get Master | grep off)
|
||||
amixer get Master | grep -m1 -Po "\d{1,3}%"
|
||||
[[ $MUTED != '' ]] && echo " M";
|
||||
|
||||
}
|
||||
|
||||
temp_update() {
|
||||
TEMP=$(cat /sys/class/thermal/thermal_zone0/temp)
|
||||
echo $((TEMP / 1000))
|
||||
}
|
||||
|
||||
cpu_update() {
|
||||
read prevtotal previdle < /tmp/.cpulast
|
||||
read cpu a b c idle rest < /proc/stat
|
||||
total=$((a+b+c+idle))
|
||||
[[ $prevtotal == 0 ]] && prevtotal=1
|
||||
cpu=$((100*( (total-prevtotal) - (idle-previdle) ) / (total-prevtotal) ))
|
||||
echo $total $idle > /tmp/.cpulast
|
||||
echo "$cpu%"
|
||||
}
|
||||
|
||||
calc(){ awk "BEGIN { print "$*" }"; }
|
||||
mhz_update() {
|
||||
mhz=$(cat /proc/cpuinfo | grep 'cpu MHz' | awk '{print $4}' | head -n1 | cut -d "." -f 1)
|
||||
echo "$(calc $mhz/1000 | awk '{ printf "%1.2f\n", $0 }') GHz"
|
||||
}
|
||||
|
||||
update_3() {
|
||||
while true; do
|
||||
cpu_update > /tmp/.cpu
|
||||
temp_update > /tmp/.temp
|
||||
mhz_update > /tmp/.mhz
|
||||
sleep 3
|
||||
done
|
||||
}
|
||||
update_30() {
|
||||
while :; do
|
||||
awk 'NR==3 {printf("%.0ddB",$4) > "/tmp/.wifi"}' /proc/net/wireless
|
||||
acpi | awk '{print $5}' > /tmp/.battime
|
||||
if ping -W 1 -c 1 8.8.8.8 > /dev/null; then
|
||||
echo "@" > /tmp/.online
|
||||
else
|
||||
echo "?" > /tmp/.online
|
||||
fi
|
||||
sleep 30
|
||||
done
|
||||
}
|
||||
|
||||
update_300() {
|
||||
while :; do
|
||||
curl -s wttr.in/madison?format=%t | head -c 7 > /tmp/.wttr
|
||||
sleep 300
|
||||
done
|
||||
}
|
||||
|
||||
SLEEP_SEC=1
|
||||
PAD=" | "
|
||||
update_300 &
|
||||
update_30 &
|
||||
update_3 &
|
||||
while true; do
|
||||
xsetroot -name "$(mem)G$PAD$(cat /tmp/.cpu)$PAD$(cat /tmp/.mhz)$PAD$(cat /tmp/.temp)°C$PAD$(cat /tmp/.wifi), $(cat /tmp/.online)$PAD$(vol)$PAD$(bat)$PAD$(cat /tmp/.wttr), $(time_date)"
|
||||
sleep $SLEEP_SEC
|
||||
done
|
||||
Loading…
Add table
Add a link
Reference in a new issue