66 lines
1.2 KiB
Bash
Executable File
66 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# a simple dmenu usb managment script
|
|
|
|
load_config() {
|
|
. $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
|
|
}
|
|
|
|
menu() {
|
|
case $(printf "mount\\nunmount" | $DMENU -p "Chose your usb action") in
|
|
"mount") mount ;;
|
|
"unmount") unmount ;;
|
|
esac
|
|
}
|
|
|
|
main() {
|
|
load_config
|
|
|
|
menu
|
|
}
|
|
|
|
main $@
|