#!/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