Files
land/dotfiles/river/.config/river/status
T
2026-05-19 19:01:57 +03:00

89 lines
1.7 KiB
Bash
Executable File

#!/bin/env sh
MEM_FG_C="#CD95D7"
CPU_FG_C="#9EA7D9"
BAT_FG_C="#AED481"
VOL_FG_C="#EEEEEE"
BRG_FG_C="#FFCA28"
DAT_FG_C="#FE8964"
TIM_FG_C="#FE8964"
# 
cpu()
{
cpu=$(top -bn1 | awk '/Cpu\(s\):/ {print $2 + $4 "%"}')
}
memory()
{
memory=$(free -m | awk '/^Mem:/ {printf "%.1f", $3/2024}')
}
disk() {
disk="$(df -h | awk 'NR==2{print $4}')"
}
cdate()
{
cdate="$(date "+%a %d %b")"
}
ctime()
{
ctime="$(date "+%I:%M:%S %p")"
}
battery()
{
# read -r bat_status </sys/class/power_supply/BAT0/status
read -r bat_capacity </sys/class/power_supply/BAT0/capacity
battery="$bat_capacity"
}
vol()
{
vol=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | awk '{printf "%.0f\n", $2*100}')
}
brightness()
{
brightness=$(light -G | awk '{print int($1)}')
}
display()
{
memory_str="^fg($MEM_FG_C) $memory^fg()"
cpu_str="^fg($CPU_FG_C) $cpu^fg()"
battery_str="^fg($BAT_FG_C)󰁹$battery^fg()"
volume_str="^fg($VOL_FG_C)󰋋 $vol^fg()"
brightness_str="^fg($BRG_FG_C)󰛨 $brightness^fg()"
date_str="^fg($DAT_FG_C)󰃭 $cdate^fg()"
time_str="^fg($TIM_FG_C)󰥔 $ctime^fg()"
echo "all status $memory_str $cpu_str $battery_str $volume_str $brightness_str $date_str $time_str" >"$FIFO"
}
printf "%s" "$$" > "$XDG_RUNTIME_DIR/status_pid"
FIFO="$XDG_RUNTIME_DIR/sandbar"
[ -e "$FIFO" ] || mkfifo "$FIFO"
sec=0
while true; do
sleep 1 &
wait && {
[ $((sec % 1)) -eq 0 ] && memory
[ $((sec % 1)) -eq 0 ] && cpu
# [ $((sec % 1)) -eq 0 ] && disk
[ $((sec % 60)) -eq 0 ] && battery
[ $((sec % 1)) -eq 0 ] && vol
[ $((sec % 1)) -eq 0 ] && brightness
[ $((sec % 1)) -eq 0 ] && cdate
[ $((sec % 1)) -eq 0 ] && ctime
[ $((sec % 1)) -eq 0 ] && display
sec=$((sec + 1))
}
done