scripts

custom scripts and utils
git clone git://git.pyratebeard.net/scripts.git
Log | Files | Refs | README

sysinfo (3415B)


      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;37m      wm \e[0;33m┄┼┄ \e[0m$wm\n"
     66 printf " \e[1;37m   shell \e[0;33m┄┼┄ \e[0m$shell\n"
     67 printf " \e[1;37m    term \e[0;33m┄┼┄ \e[0m$term\n"
     68 printf " \e[1;37m    font \e[0;33m┄┼┄ \e[0m$font $font_size\n"
     69 printf " \e[1;37m  colors \e[0;33m┄┴┄ \e[0m$colors\n"
     70 printf " \e[0m\n"
     71 #printf " \e[1;35m upgrade \e[38;5;236m▓▒ \e[0m$upgrade\n"
     72 
     73 #\\ cpu
     74 cpu=$(grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage}')
     75 proc=$(grep ^processor /proc/cpuinfo | wc -l)
     76 c_lvl=`printf "%.0f" $cpu`
     77 printf " \e[1;35m%-4s \e[1;37m%-5s %-25s \n" " cpu" "$c_lvl%" " "`draw $c_lvl 15` 
     78 
     79 #\\ ram
     80 ram=`free | awk '/Mem:/ {print int($3/$2 * 100.0)}'`
     81 mem=$(free -hg --si | grep ^Mem | awk '{print $2}' | tr '[:upper:]' '[:lower:]')
     82 printf " \e[1;35m%-4s \e[1;37m%-5s %-25s \n" " ram" "$ram%" " "`draw $ram 15` 
     83 
     84 #\\ battery
     85 if [ -f $battery/charge_full ] ; then
     86   b_full=$battery/charge_full
     87   b_now=$battery/charge_now
     88   bf=`cat $b_full`
     89   bn=`cat $b_now`
     90   charge=`printf $(( 100 * $bn / $bf ))`
     91 
     92   case 1 in
     93     $(($charge <= 15)))
     94       color='31'
     95       ;;
     96     *)
     97       color='34'
     98       ;;
     99   esac
    100   printf "  \e[0;${color}m%-4s \e[1;${color}m%-5s %-25s \n" " bat" "$charge%" `draw $charge 15 $color`
    101 fi
    102 
    103 #\\ volume
    104 vol=`amixer get Master | awk '$0~/%/{print $5}' | head -n1 | tr -d '[]%'`
    105 if amixer get Master | grep -q '\[off\]' 
    106 then
    107   color='31'
    108 else
    109   color='34'
    110 fi
    111 printf " \e[1;35m%-4s \e[1;37m%-5s %-25s \n" " vol" "$vol%" " "`draw $vol 15 $color` 
    112 
    113 #\\ temperature
    114 #temp=`sensors | awk '/Core\ 0/ {gsub(/\+/,"",$3); gsub(/\..+/,"",$3)    ; print $3}'`
    115 #case 1 in
    116 #  $(($temp <= 50)))
    117 #    color='34'
    118 #    ;;
    119 #  $(($temp >= 75)))
    120 #    color='31'
    121 #    ;;
    122 #  *)
    123 #    color='36'
    124 #    ;;
    125 #esac
    126 #printf "   \e[0;${color}m%-4s \e[1;${color}m%-5s %-25s \n\n" "temp" "$temp°c " `draw $temp 15 $color`
    127 printf " \e[0m\n"