onedark.sh 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/bin/bash
  2. interval=0
  3. cpu() {
  4. cpu_val=$(grep -o "^[^ ]*" /proc/loadavg)
  5. printf "^c#3b414d^ ^b#7ec7a2^ CPU"
  6. printf "^c#abb2bf^ ^b#353b45^ $cpu_val"
  7. }
  8. update_icon() {
  9. printf "^c#7ec7a2^ "
  10. }
  11. pkg_updates() {
  12. updates=$(doas xbps-install -un | wc -l) # void
  13. # updates=$(checkupdates | wc -l) # arch , needs pacman contrib
  14. # updates=$(aptitude search '~U' | wc -l) # apt (ubuntu,debian etc)
  15. if [ -z "$updates" ]; then
  16. printf "^c#7ec7a2^ Fully Updated"
  17. else
  18. printf "^c#7ec7a2^ $updates"" updates"
  19. fi
  20. }
  21. # battery
  22. batt() {
  23. printf "^c#81A1C1^  "
  24. printf "^c#81A1C1^ $(acpi | sed "s/,//g" | awk '{if ($3 == "Discharging"){print $4; exit} else {print $4""}}' | tr -d "\n")"
  25. }
  26. brightness() {
  27. backlight() {
  28. backlight="$(xbacklight -get)"
  29. echo -e "$backlight"
  30. }
  31. printf "^c#BF616A^  "
  32. printf "^c#BF616A^%.0f\n" $(backlight)
  33. }
  34. mem() {
  35. printf "^c#7797b7^^b#1e222a^  "
  36. printf "^c#7797b7^ $(free -h | awk '/^Mem/ { print $3 }' | sed s/i//g)"
  37. }
  38. wlan() {
  39. case "$(cat /sys/class/net/w*/operstate 2>/dev/null)" in
  40. up) printf "^c#3b414d^ ^b#7aa2f7^ 󰤨 ^d^%s" " ^c#7aa2f7^Connected" ;;
  41. down) printf "^c#3b414d^ ^b#7aa2f7^ 󰤭 ^d^%s" " ^c#7aa2f7^Disconnected" ;;
  42. esac
  43. }
  44. clock() {
  45. printf "^c#1e222a^ ^b#668ee3^ 󱑆 "
  46. printf "^c#1e222a^^b#7aa2f7^ $(date '+%a, %I:%M %p') "
  47. }
  48. while true; do
  49. [ $interval == 0 ] || [ $(($interval % 3600)) == 0 ] && updates=$(pkg_updates)
  50. interval=$((interval + 1))
  51. sleep 1 && xsetroot -name "$(update_icon) $updates $(batt) $(brightness) $(cpu) $(mem) $(wlan) $(clock)"
  52. done