Add polybar

This commit is contained in:
surya
2024-07-14 23:35:39 +05:30
parent 471de9ed28
commit b0763253b8
3 changed files with 349 additions and 0 deletions
@@ -0,0 +1,74 @@
#!/bin/bash
print_bytes() {
if [ "$1" -eq 0 ] || [ "$1" -lt 1000 ]; then
bytes="0 kB/s"
elif [ "$1" -lt 1000000 ]; then
bytes="$(echo "$1/1000" | bc -l | LANG=C xargs printf "%.f\n") kB/s"
else
bytes="$(echo "$1/1000000" | bc -l | LANG=C xargs printf "%.1f\n") MB/s"
fi
echo "$bytes"
}
print_bytes_v2() {
if [ "$1" -eq 0 ] || [ "$1" -lt 1000 ]; then
bytes="0"
elif [ "$1" -lt 1000000 ]; then
bytes="$(echo "$1/1000" | bc -l | LANG=C xargs printf "%.f\n") k"
else
bytes="$(echo "$1/1000000" | bc -l | LANG=C xargs printf "%.1f\n") M"
fi
echo "$bytes"
}
print_bit() {
if [ "$1" -eq 0 ] || [ "$1" -lt 10 ]; then
bit="0 B"
elif [ "$1" -lt 100 ]; then
bit="$(echo "$1*8" | bc -l | LANG=C xargs printf "%.f\n") B"
elif [ "$1" -lt 100000 ]; then
bit="$(echo "$1*8/1000" | bc -l | LANG=C xargs printf "%.f\n") K"
else
bit="$(echo "$1*8/1000000" | bc -l | LANG=C xargs printf "%.1f\n") M"
fi
echo "$bit"
}
INTERVAL=3
INTERFACES="wlan0"
declare -A bytes
for interface in $INTERFACES; do
bytes[past_rx_$interface]="$(cat /sys/class/net/"$interface"/statistics/rx_bytes)"
bytes[past_tx_$interface]="$(cat /sys/class/net/"$interface"/statistics/tx_bytes)"
done
while true; do
down=0
up=0
for interface in $INTERFACES; do
bytes[now_rx_$interface]="$(cat /sys/class/net/"$interface"/statistics/rx_bytes)"
bytes[now_tx_$interface]="$(cat /sys/class/net/"$interface"/statistics/tx_bytes)"
bytes_down=$(((${bytes[now_rx_$interface]} - ${bytes[past_rx_$interface]}) / INTERVAL))
bytes_up=$(((${bytes[now_tx_$interface]} - ${bytes[past_tx_$interface]}) / INTERVAL))
down=$(( "$down" + "$bytes_down" ))
up=$(( "$up" + "$bytes_up" ))
bytes[past_rx_$interface]=${bytes[now_rx_$interface]}
bytes[past_tx_$interface]=${bytes[now_tx_$interface]}
done
# echo "Download: $(print_bytes $down) / Upload: $(print_bytes $up)"
echo "$(print_bytes_v2 $down) / $(print_bytes_v2 $up)"
# echo "Download: $(print_bit $down) / Upload: $(print_bit $up)"
sleep $INTERVAL
done
@@ -0,0 +1,77 @@
#!/bin/sh
bluetooth_print() {
bluetoothctl | grep --line-buffered 'Device\|#' | while read -r REPLY; do
if [ "$(systemctl is-active "bluetooth.service")" = "active" ]; then
printf '#1'
devices_paired=$(bluetoothctl devices Paired | grep Device | cut -d ' ' -f 2)
counter=0
for device in $devices_paired; do
device_info=$(bluetoothctl info "$device")
if echo "$device_info" | grep -q "Connected: yes"; then
device_output=$(echo "$device_info" | grep "Alias" | cut -d ' ' -f 2-)
device_battery_percent=$(echo "$device_info" | grep "Battery Percentage" | awk -F'[()]' '{print $2}')
if [ -n "$device_battery_percent" ]; then
if [ "$device_battery_percent" -gt 90 ]; then
device_battery_icon="#25"
elif [ "$device_battery_percent" -gt 60 ]; then
device_battery_icon="#24"
elif [ "$device_battery_percent" -gt 35 ]; then
device_battery_icon="#23"
elif [ "$device_battery_percent" -gt 10 ]; then
device_battery_icon="#22"
else
device_battery_icon="#21"
fi
device_output="$device_output $device_battery_icon $device_battery_percent%"
fi
if [ $counter -gt 0 ]; then
printf ", %s" "$device_output"
else
printf " %s" "$device_output"
fi
counter=$((counter + 1))
fi
done
printf '\n'
else
echo "#2"
fi
done
}
bluetooth_toggle() {
if bluetoothctl show | grep -q "Powered: no"; then
bluetoothctl power on >> /dev/null
sleep 1
devices_paired=$(bluetoothctl devices Paired | grep Device | cut -d ' ' -f 2)
echo "$devices_paired" | while read -r line; do
bluetoothctl connect "$line" >> /dev/null
done
else
devices_paired=$(bluetoothctl devices Paired | grep Device | cut -d ' ' -f 2)
echo "$devices_paired" | while read -r line; do
bluetoothctl disconnect "$line" >> /dev/null
done
bluetoothctl power off >> /dev/null
fi
}
case "$1" in
--toggle)
bluetooth_toggle
;;
*)
bluetooth_print
;;
esac