summaryrefslogtreecommitdiff
path: root/dmount
diff options
context:
space:
mode:
authorzachir <zachir@librem.one>2025-08-30 09:40:41 -0500
committerzachir <zachir@librem.one>2025-08-30 09:40:41 -0500
commita26e6ae5253d95e7238dab20e298129a468e04f6 (patch)
tree859d057fa005024b4241a546b86713fafe9963b0 /dmount
parentb3954287e7d50d744da3221677c89e108cff36c4 (diff)
Improve dmenu support
You can now (again) pass multiple flags to dmenu through -d flags, as well as for some scripts all args are passed to dmenu.
Diffstat (limited to 'dmount')
-rwxr-xr-xdmount14
1 files changed, 9 insertions, 5 deletions
diff --git a/dmount b/dmount
index 2f1a3c2..053ca3e 100755
--- a/dmount
+++ b/dmount
@@ -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%% *}"