Advertisement
MikhailWilson

i3status.sh

Apr 5th, 2014
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. # shell script to add percentage of ram, monitor brightness, and window title to i3status
  2. # needs sed, free and bc
  3. # showing cpu_usage, disk_usage and battery has to be enabled
  4. # output_format has to be set to "i3bar"
  5.  
  6. i3status | while :
  7. do
  8. read line
  9.  
  10. # get ram usage in percent
  11. # you'll need to edit this to match up your total ram
  12. ram_used="`free -k | sed -n -e '3p' | sed 's/-\/+ buffers\/cache:\s*//' | cut -b 1-7`"
  13. ram_total="`free -k | sed -n -e '2p' | sed 's/Mem:\s*//' | cut -b 1-7`"
  14. ram_buffer="`free -k | sed -n -e '2p' | sed 's/Mem:\s*//' | cut -b 46-51`"
  15. net_ram=`echo $[$ram_total-$ram_buffer]`
  16. memperc=`echo "$(echo "scale=1; $ram_used * 100 / $net_ram" | bc )"`
  17.  
  18. # get window brightness
  19. # you'll probably need to edit this section to work with your individual monitor
  20. max_brightness_file="/sys/class/backlight/intel_backlight/max_brightness"
  21. brightness_file="/sys/class/backlight/intel_backlight/brightness"
  22. total_brightness="`cat $max_brightness_file`"
  23. current_brightness="`cat $brightness_file`"
  24. mon_brightness=`echo "$(echo "scale=0; $current_brightness * 100 / $total_brightness" | bc)"`
  25.  
  26. # if used RAM is more than 80% show text in red, else white
  27. if [ $(echo "$memperc > 75" | bc) -eq 1 ]
  28. then
  29. color=FF0000
  30. else
  31. color=FFFFFF
  32. fi
  33.  
  34. # add in ram, window brightness
  35. sedline="s/cpu_usage/ram_usage\",\"color\":\"\#${color}\",\"full_text\":\"RAM ${memperc}%\"},{\"name\":\"cpu_usage/"
  36. sedline0="s/battery/win_brightness\",\"full_text\":\"BRI ${mon_brightness}%\"},{\"name\":\"battery/"
  37.  
  38. line=`echo $line | sed -e "$sedline" | sed -e "$sedline0" | sed -e "s/% \"/%\"/"`
  39.  
  40. colonline='s/\([a-zA-Z]\):/\1/g'
  41. final=`echo $line | sed -e "$colonline"`
  42.  
  43. echo $final || exit 1
  44. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement