dotfiles

*nix config files
git clone git://git.pyratebeard.net/dotfiles.git
Log | Files | Refs | README

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"