diff options
Diffstat (limited to 'dmount')
-rwxr-xr-x | dmount | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -15,7 +15,7 @@ error_msg () { } while getopts "hpPugd:" o; do case "${o}" in - d) ARG="$OPTARG" ;; + d) ARG=${ARG:+"$ARG "}"$OPTARG" ;; p) USE_USER_ID="y" ;; P) unset USE_USER_ID ;; u) USERID="$OPTARG" ;; @@ -31,6 +31,10 @@ esac done IS_HFS="" +dmenu_lp () { + dmenu -l 15 -p "$@" +} + check_crypto () { [ "$(sudo lsblk -oFSTYPE "$1" | wc -l)" -gt 2 ] && printf "y" } @@ -40,8 +44,8 @@ is_crypto () { } unlock_crypto () { - NAME="$(dmenu -l 15 -p "Name" ${ARG:+"$ARG"} < /dev/null)" - PASSWORD="$(dmenu -l 15 -p "Password" -P ${ARG:+"$ARG"} < /dev/null)" + NAME="$(dmenu_lp "Name" ${ARG:+"$ARG"} < /dev/null)" + PASSWORD="$(dmenu_lp "Password" -P ${ARG:+"$ARG"} < /dev/null)" echo "$PASSWORD" | sudo cryptsetup open "$1" "$NAME" || FAILED="y" unset PASSWORD [ -n "$FAILED" ] && \ @@ -64,7 +68,7 @@ get_available () { sudo lsblk -oPATH,SIZE,FSTYPE,MOUNTPOINT | tail -n+2 | while getmount() { \ [ -z "$chosen" ] && exit 1 # shellcheck disable=SC2086 - mp="$(find $1 2>/dev/null | dmenu $ARGS -l 15 -p "Type in mount point.")" || error_msg "Canceled; no mount point chosen." + mp="$(find $1 2>/dev/null | dmenu ${ARG:+"$ARG"} -l 15 -p "Type in mount point.")" || error_msg "Canceled; no mount point chosen." test -z "$mp" && \ exit 1 if [ ! -d "$mp" ]; then @@ -97,7 +101,7 @@ mount_device () { sudo mount ${IS_HFS:+"-t"} ${IS_HFS:+"hfsplus"} ${MOUNTPROPS:+"-o"} ${MOUNTPROPS:+"$MOUNTPROPS"} "$1" "$mp" && show "Mounted successfully\n" } -DEVICE="$(get_available | dmenu -l 15 -p "Devices" ${ARG:+"$ARG"} )" +DEVICE="$(get_available | dmenu_lp "Devices" ${ARG:+"$ARG"} )" [ -z "$DEVICE" ] && exit 1 echo "$DEVICE" | grep -q "hfsplus" && IS_HFS="y" chosen="${DEVICE%% *}" |