36 lines
		
	
	
		
			658 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			658 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								################################
							 | 
						||
| 
								 | 
							
								# Shows bandwidth
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# @param {String(tx|rx)} type: The bandwidth type to check
							 | 
						||
| 
								 | 
							
								# @return {Number(kB/s)}: Speed of the interface
							 | 
						||
| 
								 | 
							
								################################
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								dir=$(dirname $0)
							 | 
						||
| 
								 | 
							
								source $dir/util.sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								type=$BLOCK_INSTANCE
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								file=/tmp/i3blocks_bandwidth_$type
							 | 
						||
| 
								 | 
							
								touch $file
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								prev=$(cat $file)
							 | 
						||
| 
								 | 
							
								cur=0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								netdir=/sys/class/net
							 | 
						||
| 
								 | 
							
								for iface in $(ls -1 $netdir); do
							 | 
						||
| 
								 | 
							
									# Skip the loopback interface
							 | 
						||
| 
								 | 
							
									if [ "$iface" == "lo" ]; then continue; fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									f=$netdir/$iface/statistics/${type}_bytes
							 | 
						||
| 
								 | 
							
									n=$(cat $f)
							 | 
						||
| 
								 | 
							
									cur=$(expr $cur + $n)
							 | 
						||
| 
								 | 
							
								done
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								delta=$(calc "$cur - $prev")
							 | 
						||
| 
								 | 
							
								echo "$(calc "$delta / 1000") kB/s"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# store result
							 | 
						||
| 
								 | 
							
								echo $cur > $file
							 |