diff options
-rwxr-xr-x | dmenu_books | 13 | ||||
-rwxr-xr-x | dmenumount | 25 | ||||
-rwxr-xr-x | dmenuumount | 19 | ||||
-rwxr-xr-x | dmenuunicode | 15 |
4 files changed, 58 insertions, 14 deletions
diff --git a/dmenu_books b/dmenu_books index beb87cc..f24391b 100755 --- a/dmenu_books +++ b/dmenu_books @@ -5,12 +5,23 @@ printhelp () { } while getopts "hwxd:" o; do case "${o}" in - w) DMENU="tofi" ;; + w) DMENU="bemenu" ;; x) DMENU="dmenu" ;; d) ARGS="$ARGS$OPTARG " ;; *) printhelp ;; esac done +if [ -z "$DMENU" ]; then + if [ -n "$WAYLAND_DISPLAY" ]; then + DMENU="bemenu" + elif [ -n "$DISPLAY" ]; then + DMENU="dmene" + else + print "Can't tell if Wayland or X; what gives?\n" + exit 1 + fi +fi + BOOK=`ls ~/Documents/shared | $DMENU $ARGS` [ -z "$BOOK" ] && exit 1 @@ -10,25 +10,36 @@ printhelp () { } while getopts "wxhd:" o; do case "${o}" in - w) DMENU="tofi" ;; + w) DMENU="bemenu" ;; x) DMENU="dmenu" ;; d) ARGS="$ARGS$OPTARG " ;; *) printhelp ;; esac done +if [ -z "$DMENU" ]; then + if [ -n "$WAYLAND_DISPLAY" ]; then + DMENU="bemenu" + elif [ -n "$DISPLAY" ]; then + DMENU="dmene" + else + print "Can't tell if Wayland or X; what gives?\n" + exit 1 + fi +fi + getmount() { \ [ -z "$chosen" ] && exit 1 # shellcheck disable=SC2086 - mp="$(find $1 2>/dev/null | $DMENU $ARGS -p "Type in mount point.")" || exit 1 + mp="$(find $1 2>/dev/null | $DMENU -l 10 $ARGS -p "Type in mount point.")" || exit 1 test -z "$mp" && exit 1 if [ ! -d "$mp" ]; then - mkdiryn=$(printf "No\\nYes" | $DMENU $ARGS -p "$mp does not exist. Create it?") || exit 1 + mkdiryn=$(printf "No\\nYes" | $DMENU -l 10 $ARGS -p "$mp does not exist. Create it?") || exit 1 [ "$mkdiryn" = "Yes" ] && (mkdir -p "$mp" || doas mkdir -p "$mp") fi } mountusb() { \ - chosen="$(echo "$usbdrives" | $DMENU $ARGS -p "Mount which drive?")" || exit 1 + chosen="$(echo "$usbdrives" | $DMENU -l 10 $ARGS -p "Mount which drive?")" || exit 1 chosen="$(echo "$chosen" | awk '{print $1}')" echo "$chosen" doas mount "$chosen" 2>/dev/null && notify-send "💻 USB mounting" "$chosen mounted." && exit 0 @@ -44,17 +55,17 @@ mountusb() { \ } mountandroid() { \ - chosen="$(echo "$anddrives" | $DMENU $ARGS -p "Which Android device?")" || exit 1 + chosen="$(echo "$anddrives" | $DMENU -l 10 $ARGS -p "Which Android device?")" || exit 1 chosen="$(echo "$chosen" | cut -d : -f 1)" getmount "$HOME -maxdepth 3 -type d" simple-mtpfs --device "$chosen" "$mp" - echo "OK" | $DMENU $ARGS -p "Tap Allow on your phone if it asks for permission and then press enter" || exit 1 + echo "OK" | $DMENU -l 10 $ARGS -p "Tap Allow on your phone if it asks for permission and then press enter" || exit 1 simple-mtpfs --device "$chosen" "$mp" notify-send "🤖 Android Mounting" "Android device mounted to $mp." } asktype() { \ - choice="$(printf "USB\\nAndroid" | $DMENU $ARGS -p "Mount a USB drive or Android device?")" || exit 1 + choice="$(printf "USB\\nAndroid" | $DMENU -l 10 $ARGS -p "Mount a USB drive or Android device?")" || exit 1 case $choice in USB) mountusb ;; Android) mountandroid ;; diff --git a/dmenuumount b/dmenuumount index 836bded..b4785cf 100755 --- a/dmenuumount +++ b/dmenuumount @@ -9,28 +9,39 @@ printhelp () { } while getopts "hwxd:" o; do case "${o}" in - w) DMENU="tofi" ;; + w) DMENU="bemenu" ;; x) DMENU="dmenu" ;; d) ARGS="$ARGS$OPTARG " ;; *) printhelp ;; esac done +if [ -z "$DMENU" ]; then + if [ -n "$WAYLAND_DISPLAY" ]; then + DMENU="bemenu" + elif [ -n "$DISPLAY" ]; then + DMENU="dmene" + else + print "Can't tell if Wayland or X; what gives?\n" + exit 1 + fi +fi + unmountusb() { [ -z "$drives" ] && exit - chosen="$(echo "$drives" | $DMENU $ARGS -p "Unmount which drive?")" || exit 1 + chosen="$(echo "$drives" | $DMENU -l 10 $ARGS -p "Unmount which drive?")" || exit 1 chosen="$(echo "$chosen" | awk '{print $1}')" [ -z "$chosen" ] && exit doas umount "$chosen" && notify-send "💻 USB unmounting" "$chosen unmounted." } unmountandroid() { \ - chosen="$(awk '/simple-mtpfs/ {print $2}' /etc/mtab | $DMENU $ARGS -p "Unmount which device?")" || exit 1 + chosen="$(awk '/simple-mtpfs/ {print $2}' /etc/mtab | $DMENU -l 10 $ARGS -p "Unmount which device?")" || exit 1 [ -z "$chosen" ] && exit doas umount -l "$chosen" && notify-send "🤖 Android unmounting" "$chosen unmounted." } asktype() { \ - choice="$(printf "USB\\nAndroid" | $DMENU $ARGS -p "Unmount a USB drive or Android device?")" || exit 1 + choice="$(printf "USB\\nAndroid" | $DMENU -l 10 $ARGS -p "Unmount a USB drive or Android device?")" || exit 1 case "$choice" in USB) unmountusb ;; Android) unmountandroid ;; diff --git a/dmenuunicode b/dmenuunicode index d994614..1358fad 100755 --- a/dmenuunicode +++ b/dmenuunicode @@ -7,14 +7,25 @@ printhelp () { } while getopts "hwxd:" o; do case "${o}" in - w) DMENU="tofi" ;; + w) DMENU="bemenu" ;; x) DMENU="dmenu" ;; d) ARGS="$ARGS$OPTARG " ;; *) printhelp ;; esac done +if [ -z "$DMENU" ]; then + if [ -n "$WAYLAND_DISPLAY" ]; then + DMENU="bemenu" + elif [ -n "$DISPLAY" ]; then + DMENU="dmene" + else + print "Can't tell if Wayland or X; what gives?\n" + exit 1 + fi +fi + # Get user selection via dmenu -i -l 30 from emoji file. -chosen=$(cut -d ';' -f1 ~/.local/share/larbs/chars/* | $DMENU $ARGS | sed "s/ .*//") +chosen=$(cut -d ';' -f1 ~/.local/share/larbs/chars/* | $DMENU -l 10 $ARGS | sed "s/ .*//") # Exit if none chosen. [ -z "$chosen" ] && exit |