This repository has been archived on 2023-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/.local/bin/dmenuumount

29 lines
818 B
Bash
Executable File

#!/bin/sh
# A dmenu prompt to unmount drives.
# Provides you with mounted partitions, select one to unmount.
# Drives mounted at /, /boot and /home will not be options to unmount.
# Adapted from the work of Luke Smith (lukesmith.xyz)
unmountusb() {
chosen=$(echo "$usbdrives" | dmenu -i -p "Unmount which drive?" | awk '{print $1}')
if [ -z "$chosen" ]; then
exit
else
if sudo -A umount "$chosen" ; then
notify-send "禍 USB unmounting" "$chosen unmounted."
else
notify-send -u "critical" -t 3000 "禍 USB ERROR" "Unmounting failed."
fi
fi
}
usbdrives=$(lsblk -nrpo "name,type,size,mountpoint" | awk '$2=="part"&&$4!~/\/boot|\/home$|SWAP/&&length($4)>1{printf "%s (%s)\n",$4,$3}')
if [ -z "$usbdrives" ]; then
notify-send -u "critical" -t 3000 "禍 USB ERROR" "No drive to unmount."
else
unmountusb
fi