sysinfo (3473B)
1 #!/bin/sh 2 ## author: pyratebeard <root@pyratebeard.net> 3 ## original author: xero <x@xero.nu> 4 #\\ vars 5 #FULL=▓ 6 #EMPTY=░ 7 #FULL=━ 8 #EMPTY=┄ 9 10 #EMPTY=━ 11 EMPTY=─ 12 FULL=┅ 13 14 name=$USER 15 host=$(hostname -s) 16 uptime=$(uptime -p | cut -b4- | tr -d ',|eeks|ay|our|inute') 17 battery=/sys/class/power_supply/BAT1 18 distro=$(grep -E "^ID=" /etc/os-release | awk -F= '{print $2}') 19 pkgs=$(pacman -Qqs | wc -l) 20 #upgrade=$(sudo pacman -Sy >/dev/null ; pacman -Qu | wc -l) 21 kernel=$(uname -r) 22 shell=$(echo $SHELL | awk -F/ '{print $NF}') 23 #term=$TERM 24 term="urxvt" 25 colors=$(grep urxvt-colors ~/.Xdefaults | awk -F\/ '{print $NF}' | tr -d '"') 26 font=$(grep -Ei "^urxvt\*font" ~/.Xdefaults | awk -F: '{print $3}') 27 font_size=$(grep -Ei "^urxvt\*font" ~/.Xdefaults | grep -Eo '[0-9]{1,2}' | head -n1) 28 #wm=$XDG_SESSION_DESKTOP 29 wm=`xprop -root _NET_WM_NAME|cut -d\" -f2` 30 31 #\\ progress bar 32 draw() 33 { 34 perc=$1 35 size=$2 36 inc=$(( perc * size / 100 )) 37 out= 38 if [ -z $3 ] 39 then 40 color="36" 41 else 42 color="$3" 43 fi 44 for v in `seq 0 $(( size - 1 ))`; do 45 test "$v" -le "$inc" \ 46 && out="${out}\e[0;34m${FULL}" \ 47 || out="${out}\e[38;5;236m${EMPTY}" 48 done 49 printf $out 50 } 51 52 #\\ colors 53 ~/bin/blocks 54 55 56 #\\ greets 57 printf " \e[1;37m user \e[0;33m┄┬┄ \e[1;33m$name\n" 58 printf " \e[1;37m host \e[0;33m┄┼┄ \e[1;34m$host\e[0m\n" 59 printf " \e[1;37m up \e[0;33m┄┴┄ \e[0;37m$uptime\n" 60 printf " \e[0m\n" 61 62 #\\ environment 63 printf " \e[1;37m distro \e[0;33m┄┬┄ \e[0m$distro\n" 64 printf " \e[1;37m kernel \e[0;33m┄┼┄ \e[0m$kernel\n" 65 printf " \e[1;37mpackages \e[0;33m┄┼┄ \e[0m$pkgs\n" 66 printf " \e[1;37m wm \e[0;33m┄┼┄ \e[0m$wm\n" 67 printf " \e[1;37m shell \e[0;33m┄┼┄ \e[0m$shell\n" 68 printf " \e[1;37m term \e[0;33m┄┼┄ \e[0m$term\n" 69 printf " \e[1;37m font \e[0;33m┄┼┄ \e[0m$font $font_size\n" 70 printf " \e[1;37m colors \e[0;33m┄┴┄ \e[0m$colors\n" 71 printf " \e[0m\n" 72 #printf " \e[1;35m upgrade \e[38;5;236m▓▒ \e[0m$upgrade\n" 73 74 #\\ cpu 75 cpu=$(grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage}') 76 proc=$(grep ^processor /proc/cpuinfo | wc -l) 77 c_lvl=`printf "%.0f" $cpu` 78 printf " \e[1;35m%-4s \e[1;37m%-5s %-25s \n" " cpu" "$c_lvl%" " "`draw $c_lvl 15` 79 80 #\\ ram 81 ram=`free | awk '/Mem:/ {print int($3/$2 * 100.0)}'` 82 mem=$(free -hg --si | grep ^Mem | awk '{print $2}' | tr '[:upper:]' '[:lower:]') 83 printf " \e[1;35m%-4s \e[1;37m%-5s %-25s \n" " ram" "$ram%" " "`draw $ram 15` 84 85 #\\ battery 86 if [ -f $battery/charge_full ] ; then 87 b_full=$battery/charge_full 88 b_now=$battery/charge_now 89 bf=`cat $b_full` 90 bn=`cat $b_now` 91 charge=`printf $(( 100 * $bn / $bf ))` 92 93 case 1 in 94 $(($charge <= 15))) 95 color='31' 96 ;; 97 *) 98 color='34' 99 ;; 100 esac 101 printf " \e[0;${color}m%-4s \e[1;${color}m%-5s %-25s \n" " bat" "$charge%" `draw $charge 15 $color` 102 fi 103 104 #\\ volume 105 vol=`amixer get Master | awk '$0~/%/{print $5}' | head -n1 | tr -d '[]%'` 106 if amixer get Master | grep -q '\[off\]' 107 then 108 color='31' 109 else 110 color='34' 111 fi 112 printf " \e[1;35m%-4s \e[1;37m%-5s %-25s \n" " vol" "$vol%" " "`draw $vol 15 $color` 113 114 #\\ temperature 115 #temp=`sensors | awk '/Core\ 0/ {gsub(/\+/,"",$3); gsub(/\..+/,"",$3) ; print $3}'` 116 #case 1 in 117 # $(($temp <= 50))) 118 # color='34' 119 # ;; 120 # $(($temp >= 75))) 121 # color='31' 122 # ;; 123 # *) 124 # color='36' 125 # ;; 126 #esac 127 #printf " \e[0;${color}m%-4s \e[1;${color}m%-5s %-25s \n\n" "temp" "$temp°c " `draw $temp 15 $color` 128 printf " \e[0m\n"