dmenu-scripts/dmenu-usb-man
2022-10-30 16:07:16 +01:00

54 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
# a simple dmenu usb managment script
. $HOME/.config/dmenu/config
driveCount(){
count="$(printf '%s\n' "$1" | wc -l)"
}
mount(){
mountable="$(lsblk -lp | awk '/^\/dev\/sd.*part $/ { print $1 " ("$4")" }')"
if [ "$mountable" = "" ]; then
quick-notify "$DMENU Usb Manager" "No drives to mount"
exit
fi
chosen="$(printf '%s' "$mountable" | $DMENU -p "Drive to mount?")"
if [ -n "$chosen" ];then
udisksctl mount -b "${chosen%% *}"
quick-notify "Dmenu Usb Manager" "Drive ${chosen%% *} mounted"
else
quick-notify "Dmenu Usb Manager" "No drives chosen to mount"
exit
fi
}
unmount(){
mounted="$(lsblk -lp | awk '/run/ { print $1 " ("$4")" }')"
if [ "$mounted" = "" ]; then
quick-notify "Dmenu Usb Manager" "No drives to unmount"
exit
fi
chosen="$(printf "$mounted" | $DMENU -p "Drive to unmount?")"
if [ -n "$chosen" ];then
udisksctl unmount -b "${chosen%% *}"
quick-notify "Dmenu Usb Manager" "Drive ${chosen%% *} unmounted"
else
quick-notify "Dmenu Usb Manager" "No drives chosen to unmount"
exit
fi
}
case $(printf "mount\\nunmount" | $DMENU -p "Chose your usb action") in
"mount") mount ;;
"unmount") unmount ;;
esac