diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/menuscripts/mapimg | 13 | ||||
-rwxr-xr-x | bin/menuscripts/mcurs | 25 | ||||
-rwxr-xr-x | bin/menuscripts/mdsktp | 21 | ||||
-rwxr-xr-x | bin/menuscripts/memoji | 21 | ||||
-rwxr-xr-x | bin/menuscripts/mhelp | 23 | ||||
-rwxr-xr-x | bin/menuscripts/mmpcvol | 20 | ||||
-rwxr-xr-x | bin/menuscripts/mpass | 32 | ||||
-rwxr-xr-x | bin/menuscripts/mpassgen | 45 | ||||
-rwxr-xr-x | bin/menuscripts/mplay | 20 | ||||
-rwxr-xr-x | bin/menuscripts/mvid | 2 |
10 files changed, 63 insertions, 159 deletions
diff --git a/bin/menuscripts/mapimg b/bin/menuscripts/mapimg index 151b8d0..a959d46 100755 --- a/bin/menuscripts/mapimg +++ b/bin/menuscripts/mapimg @@ -1,17 +1,8 @@ #!/bin/sh -if [ -z "$MENUCMD" ] -then - menucmd="fzf" -elif [ "$MENUCMD" = "tofi" ] -then - menucmd='tofi --width 700 --height 300 --prompt-text Appimage:' -else - menucmd="dmenu -x -l 10 -g 1 -p Appimage:" -fi - dest="$XDG_DATA_HOME"/appimages appimage="$(find "$dest" -type f -printf "%f\n" | sed 's/\.[Aa]pp[Ii]mage$//g' | - $menucmd)" + commander -x -l -p "Appimage:")" +[ "$appimage" ] || exit 1 setsid "$dest/${appimage:-NOSEL}"* diff --git a/bin/menuscripts/mcurs b/bin/menuscripts/mcurs index 32f5525..4349e0b 100755 --- a/bin/menuscripts/mcurs +++ b/bin/menuscripts/mcurs @@ -1,22 +1,11 @@ #!/bin/sh -if [ "$MENUCMD" = "tofi" ] -then - menucmd="tofi --width 30% --height 20% --padding-left 2% --matching-algorithm normal" -elif [ "$MENUCMD" = "dmenu" ] -then - menucmd="dmenu -l 10 -g 1 -x -i" -else - menucmd="fzf" -fi - # requirements -which $MENUCMD firefox > /dev/null || - exit 1 +which "$BROWSER" > /dev/null || exit 1 + +choice="$(find "${1:-$HOME/docs/school}" | + grep -i "cursus/index.html" 2> /dev/null | + sed "s;$HOME;~;" | commander -x -d -c)" +[ "$choice" ] && exit 1 -choice="$(find ${1:-$HOME/docs/school} | - grep "Cursus/index.html" 2> /dev/null | - sed "s;$HOME;~;" | - $menucmd)" -test -z "$choice" && exit 1 -firefox "$choice" +$BROWSER "$choice" diff --git a/bin/menuscripts/mdsktp b/bin/menuscripts/mdsktp index a48aca6..f07fb7b 100755 --- a/bin/menuscripts/mdsktp +++ b/bin/menuscripts/mdsktp @@ -1,21 +1,8 @@ #!/bin/sh # Searches through .desktop files and prompt to launch them via dmenu -if [ "$MENUCMD" = "tofi" ] -then - menucmd="tofi" -elif [ "$MENUCMD" = "dmenu" ] -then - menucmd="dmenu -g 1 -i" -else - menucmd="fzf" -fi -choice="$(find ~/.local/share/applications \ - -maxdepth 1 \ - -type f \ - -not -iname "wine-extension*" -a -iname "*.desktop" \ - -printf "%f\n" | - cut -d. -f1 | - $menucmd)" -test -z "$choice" && exit 1 +choice="$(find ~/.local/share/applications -maxdepth 1 -type f -not -iname "wine-extension*" | + awk '/\/[^.\/]+\.desktop/ {print $(NF-1)}' | + commander -s -d -x -c)" +[ "$choice" ] || exit 1 gtk-launch "$choice" diff --git a/bin/menuscripts/memoji b/bin/menuscripts/memoji index d051ad8..9c45950 100755 --- a/bin/menuscripts/memoji +++ b/bin/menuscripts/memoji @@ -7,36 +7,27 @@ if [ "$WAYLAND_DISPLAY" ] then - copycmd="wl-copy" + alias copycmd="wl-copy" else - copycmd="xclip -sel c" -fi -if [ "$MENUCMD" = "tofi" ] -then - menucmd="tofi --width 30% --height 30% --matching-algorithm normal --prompt-text Emoji:" -elif [ "$MENUCMD" = "dmenu" ] -then - menucmd="dmenu -l 20 -g 1 -x -i -p Emoji:" -else - menucmd="fzf --prompt Emoji:" + alias copycmd="xclip -sel c" fi set -e case "$1" in "list") data=$(sed '0,/^__DATA__$/d' "$0") - echo -n "$data" + printf "%s" "$data" ;; "copy") input=$(tee | cut -f 1 -d ' ') - if [ ! -z "$input" ] + if [ "$input" ] then notify-send "dmemoji" "$input <b>copied!</b>" - echo -n "$input" | $copycmd + printf "%s" "$input" | copycmd fi ;; "") - sh $0 list | $menucmd | sh $0 copy + sh "$0" list | commander -p "Emoji:" -l -x | sh "$0" copy ;; esac diff --git a/bin/menuscripts/mhelp b/bin/menuscripts/mhelp index 5963a88..339d6bf 100755 --- a/bin/menuscripts/mhelp +++ b/bin/menuscripts/mhelp @@ -1,29 +1,18 @@ #!/usr/bin/env sh -if [ "$MENUCMD" = "tofi" ] -then - program="$(tofi-run --prompt-text "program: ")" - menucmd="tofi --width 50% --height 30% --matching-algorithm normal --prompt-text $program:" -elif [ "$MENUCMD" = "dmenu" ] -then - program="$(dmenu_path | dmenu -l 4 -g 5 -p "program:")" - menucmd="dmenu -l 20 -g 1 -x -i -p $program:" -else - program="$(dmenu_path | fzf)" - menucmd="fzf" -fi +program="$(commander -r -c -d)" -test -z "$program" && exit 1 +[ "$program" ] || exit 1 -option="$($program --help | +option="$("$program" --help | # Parse options grep "^ *-[-a-zA-Z0-9]* " | tr -s ' ' | sort | uniq | column -l 2 -t | - $menucmd | + commander -l -x -c -d | awk '{print $1}')" -test -z "$option" && exit 1 +[ "$option" ] || exit 1 -setsid $program $option +setsid "$program" "$option" diff --git a/bin/menuscripts/mmpcvol b/bin/menuscripts/mmpcvol index 0f36e18..239dec3 100755 --- a/bin/menuscripts/mmpcvol +++ b/bin/menuscripts/mmpcvol @@ -1,23 +1,13 @@ #!/bin/sh -if [ "$MENUCMD" = "tofi" ] -then - menucmd="tofi --width 5% --height 10% --prompt-text" -elif [ "$MENUCMD" = "dmenu" ] -then - menucmd="dmenu -g 2 -l 1 -p" -else - menucmd="fzf --prompt" -fi - while true do volume="$(mpc volume | awk '{print $2}' | cut -f1 -d'%')" - choice="$(echo "plus\nmin" | - $menucmd "$volume" | + choice="$(printf "plus\nmin\n" | + commander -d -c -p "$volume" | sed 's/plus/+/;s/min/-/')" - test -z "$choice" && break - nb="$($menucmd "$volume$choice" < /dev/null)" - test -z "$nb" && break + [ "$choice" ] || break + nb="$(commander -c -p "$volume$choice" -i)" + [ "$nb" ] || break mpc volume "$choice$nb" done diff --git a/bin/menuscripts/mpass b/bin/menuscripts/mpass index 4ecd4bc..8d5f4eb 100755 --- a/bin/menuscripts/mpass +++ b/bin/menuscripts/mpass @@ -1,25 +1,27 @@ #!/usr/bin/env sh store="${PASSWORD_STORE_DIR:-$HOME/.password-store}" -lscmd="ls --group-directories-first" -if [ "$MENUCMD" = "tofi" ] -then - menucmd="tofi --prompt pass:" -elif [ "$MENUCMD" = "dmenu" ] -then - menucmd="dmenu -l 4 -g 2 -i -p pass:" -else - menucmd="fzf --prompt pass:" -fi + +# list passwords, group directories first +list_pswds() +{ + find "$1" \ + -maxdepth 1 -mindepth 1 \ + -not -name '.*' -type d -printf "%y\t%f\n" -o \ + -not -name '.*' -not -type d -printf "%y\t%f\n" | + sort -k1 -k2 | + cut -f 2 | sed 's/\.gpg$//' +} + while [ -d "$store/$file" ] do - choice="$($lscmd "$store/$file" | sed 's/\.gpg$//'| $menucmd)" - [ "$choice" ] || break - file="$file/$choice" + choice="$(list_pswds "$store/$file" | commander -c -d)" + [ "$choice" ] || exit 1 + [ -z "$file" ] && file="$choice" || file="$file/$choice" done -test -z "$file" && exit 1 +[ "$file" ] || exit 1 pass show -c "$file" || exit 1 -notify-send -t 1000 "mpass" "copied <b>$choice</b>" +notify-send -t 1000 "mpass" "copied <b>$file</b>" [ "$WAYLAND_DISPLAY" ] && cliphist list >/dev/null && # on wayland and cliphist is running cliphist list | head -n 1 | cliphist delete diff --git a/bin/menuscripts/mpassgen b/bin/menuscripts/mpassgen index 8384542..51b9bc4 100755 --- a/bin/menuscripts/mpassgen +++ b/bin/menuscripts/mpassgen @@ -1,46 +1,21 @@ #!/usr/bin/env sh -input () -{ - # menu prompt for output - if [ "$MENUCMD" = "tofi" ] - then - inp="$(tofi --prompt-text "$1 " </dev/null)" - elif [ "$MENUCMD" = "dmenu" ] - then - inp="$(dmenu -p "$1" < /dev/null)" - else - echo -n "$1" >&2 - read inp - fi - echo $inp -} -# menu select long -if [ "$MENUCMD" = "tofi" ] -then - menucmd="tofi --prompt login:" -elif [ "$MENUCMD" = "dmenu" ] -then - menucmd="dmenu -l 10 -g 1 -x -i -p login:" -else - menucmd="fzf" -fi +input () { commander -c -i -p "$1"; } -choice="$(echo "multiline\nsingle" | $MENUCMD)" -test -z "${choice}" && exit 1 +choice="$(printf "multiline\nsingle\n" | commander -c -d)" +[ "$choice" ] || exit 1 password="$(input "name:")" -test -z "${password}" && exit 1 +[ "$password" ] || exit 1 -if [ "${choice}" = "multiline" ] +if [ "$choice" = "multiline" ] then - login="$(ls -1 ${PASSWORD_STORE_DIR:=$HOME/.password-store}/e-mails | - sed 's/\.gpg$//' | - $menucmd)" - test -z "${login}" && exit 1 + login="$(find "${PASSWORD_STORE_DIR:=$HOME/.password-store}"/e-mails -type f -maxdepth 1 -iname "*.gpg" -printf "%f\n" | + sed 's/\.gpg$//' | commander -c -d -p 'login:')" + [ "$login" ] || exit 1 url="$(input "url:")" - test -z "${url}" && exit 1 - echo "${password}\nlogin: ${login}\nurl: ${url}" | + [ "$url" ] || exit 1 + printf "%s\nlogin: %s\nurl: %s\n" "${password}" "${login}" "${url}" | pass insert -mf "${password}" pass generate -ci "${password}" else diff --git a/bin/menuscripts/mplay b/bin/menuscripts/mplay index 08fcc46..e4fca54 100755 --- a/bin/menuscripts/mplay +++ b/bin/menuscripts/mplay @@ -1,16 +1,6 @@ #!/bin/sh -# menu select long -if [ "$MENUCMD" = "tofi" ] -then - menucmd="tofi --width 50% --height 30% --matching-algorithm normal" -elif [ "$MENUCMD" = "dmenu" ] -then - menucmd="dmenu -l 10 -g 1 -x -i" -else - menucmd="fzf" -fi -choice="$(mpc listall | $menucmd)" -test -z "$choice" && - exit 1 -mpc insert "$choice" && - mpc next +choice="$(mpc listall | commander -c -l -d -x)" +[ "$choice" ] || exit 1 +mpc insert "$choice" || exit 1 +mpc next 2> /dev/null +mpc play 2> /dev/null diff --git a/bin/menuscripts/mvid b/bin/menuscripts/mvid index 09ebab8..85187cb 100755 --- a/bin/menuscripts/mvid +++ b/bin/menuscripts/mvid @@ -8,7 +8,7 @@ choice="$(find -L $dirs 2> /dev/null | grep '^.\+\.\(webm\|mp4\|mpeg\|mkv\)$' | sort | tee "$tmp" | sed "s#^$HOME#\~#;s#\([^/]\)[^/]*/#\1/#g" | - commander -n -x)" + commander -d -n -x)" file="$(sed -n "${choice}p" "$tmp")" [ -r "$file" ] || exit 1 |