69 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			69 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/usr/bin/env bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								################################
							 | 
						||
| 
								 | 
							
								# Shows info about a specified mount point
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Dependencies:
							 | 
						||
| 
								 | 
							
								# - [notify-send]
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# @param {String} disk: The mount point to check
							 | 
						||
| 
								 | 
							
								# @return {Number(%)}: Space used on the disk
							 | 
						||
| 
								 | 
							
								################################
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								dir=$(dirname $0)
							 | 
						||
| 
								 | 
							
								source $dir/util.sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								full=""
							 | 
						||
| 
								 | 
							
								short=""
							 | 
						||
| 
								 | 
							
								status=0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								disks=$(lsblk | tail -n +2 | awk '{ print $7 }' | sed '/^\s*$/d' | sort)
							 | 
						||
| 
								 | 
							
								let numDisks=$(echo "$disks" | wc -l)
							 | 
						||
| 
								 | 
							
								let diskNum=$(getCache 1)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								getDisk() {
							 | 
						||
| 
								 | 
							
									echo "$disks" | sed -n "$diskNum p"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								disk=$(getDisk)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								case $BLOCK_BUTTON in
							 | 
						||
| 
								 | 
							
									# right click: show details
							 | 
						||
| 
								 | 
							
									# TODO: fix
							 | 
						||
| 
								 | 
							
									3)
							 | 
						||
| 
								 | 
							
										local summary=$(du -h --max-depth=1 $disk)
							 | 
						||
| 
								 | 
							
										notify-send "Disk usage" "$summary"
							 | 
						||
| 
								 | 
							
									;;
							 | 
						||
| 
								 | 
							
									# scroll up: cycle disks
							 | 
						||
| 
								 | 
							
									4)
							 | 
						||
| 
								 | 
							
										diskNum=$[$(getCache) - 1]
							 | 
						||
| 
								 | 
							
										if (( diskNum <= 0 )); then
							 | 
						||
| 
								 | 
							
											diskNum=$numDisks
							 | 
						||
| 
								 | 
							
										fi
							 | 
						||
| 
								 | 
							
										setCache $diskNum
							 | 
						||
| 
								 | 
							
										disk=$(getDisk)
							 | 
						||
| 
								 | 
							
									;;
							 | 
						||
| 
								 | 
							
									5)
							 | 
						||
| 
								 | 
							
									# scroll down: cycle disks
							 | 
						||
| 
								 | 
							
										diskNum=$[$(getCache) + 1]
							 | 
						||
| 
								 | 
							
										if (( diskNum >= numDisks + 1 )); then
							 | 
						||
| 
								 | 
							
											diskNum=1
							 | 
						||
| 
								 | 
							
										fi
							 | 
						||
| 
								 | 
							
										setCache $diskNum
							 | 
						||
| 
								 | 
							
										disk=$(getDisk)
							 | 
						||
| 
								 | 
							
									;;
							 | 
						||
| 
								 | 
							
								esac
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								usage=$(df -h $disk | sed -n '2 p')
							 | 
						||
| 
								 | 
							
								usage=($usage)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ ${usage[4]%?} -ge 90 ]; then
							 | 
						||
| 
								 | 
							
									status=33
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								full="$disk ${usage[4]}"
							 | 
						||
| 
								 | 
							
								short="$full"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								echo $full
							 | 
						||
| 
								 | 
							
								echo $short
							 | 
						||
| 
								 | 
							
								exit $status
							 |