summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2023-08-24 21:11:27 +0200
committerRaymaekers Luca <raymaekers.luca@gmail.com>2023-08-24 21:11:27 +0200
commit8b9e93321bfd229b8a29fdd1fc60de670e16636d (patch)
tree60963be78e9bca76d996be3de468fc4e03deb137 /bin
parent067b271a243dafcf652fe7cfe85e723d25ff1a64 (diff)
[menuscripts] use 'commander' in menuscripts
Diffstat (limited to 'bin')
-rwxr-xr-xbin/menuscripts/mapimg13
-rwxr-xr-xbin/menuscripts/mcurs25
-rwxr-xr-xbin/menuscripts/mdsktp21
-rwxr-xr-xbin/menuscripts/memoji21
-rwxr-xr-xbin/menuscripts/mhelp23
-rwxr-xr-xbin/menuscripts/mmpcvol20
-rwxr-xr-xbin/menuscripts/mpass32
-rwxr-xr-xbin/menuscripts/mpassgen45
-rwxr-xr-xbin/menuscripts/mplay20
-rwxr-xr-xbin/menuscripts/mvid2
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