47 lines
		
	
	
		
			719 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			719 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
################################
 | 
						|
# Shows info about the RAM
 | 
						|
#
 | 
						|
# Dependencies:
 | 
						|
# - [notify-send]
 | 
						|
#
 | 
						|
# @return {Number(%)}: RAM usage
 | 
						|
################################
 | 
						|
 | 
						|
dir=$(dirname $0)
 | 
						|
source $dir/util.sh
 | 
						|
 | 
						|
full=""
 | 
						|
short=""
 | 
						|
status=0
 | 
						|
 | 
						|
exec 6< /proc/meminfo
 | 
						|
read a total b <&6
 | 
						|
read a free b <&6
 | 
						|
read a b c <&6
 | 
						|
read a buffer b <&6
 | 
						|
read a cached b <&6
 | 
						|
 | 
						|
MEM=$(calc "100 * ($total - ($free + $buffer + $cached)) / $total")
 | 
						|
 | 
						|
full="$MEM%"
 | 
						|
short=$full
 | 
						|
 | 
						|
if [ $MEM -ge 80 ]; then
 | 
						|
	status=33
 | 
						|
fi
 | 
						|
 | 
						|
case $BLOCK_BUTTON in
 | 
						|
	# right click: show packages
 | 
						|
	3)
 | 
						|
		n=16
 | 
						|
		summary=$(ps -eo pmem,pcpu,pid,comm --sort=-pmem | head -$n)
 | 
						|
		notify-send "Top $n RAM-eaters" "$summary"
 | 
						|
	;;
 | 
						|
esac
 | 
						|
 | 
						|
echo $full
 | 
						|
echo $short
 | 
						|
exit $status
 |