summaryrefslogtreecommitdiff
path: root/bin/guiscripts
diff options
context:
space:
mode:
Diffstat (limited to 'bin/guiscripts')
-rwxr-xr-xbin/guiscripts/dmhelp44
1 files changed, 25 insertions, 19 deletions
diff --git a/bin/guiscripts/dmhelp b/bin/guiscripts/dmhelp
index 6199c21..a9027ef 100755
--- a/bin/guiscripts/dmhelp
+++ b/bin/guiscripts/dmhelp
@@ -1,26 +1,32 @@
#!/usr/bin/env sh
-program="${1:-$(dmenu_path | dmenu -l 4 -g 5)}"
-opfil="/tmp/dmh_options.txt"
-test -z "${program}" && exit 1
+OPTIONS="/tmp/dmh_options.txt"
-if ${program} --help > "${opfil}"
+if [ "$MENUCMD" = "tofi" ]
then
- option="$(\
- grep -E "^ *-[-a-Z]* " "${opfil}" \
- | tr -s ' ' \
- | sort | uniq \
- | column -l 2 -t \
- | dmenu -x -l 20 -g 1 -p "${program}" \
- | awk '{print $1}' \
- )"
-elif man $program > "${opfil}"
+ program="$(tofi-run --prompt-text "program: ")"
+ menucmd="tofi --width 50% --height 30% --matching-algorithm normal --prompt-text $program:"
+elif [ "$MENUCMD" = "dmenu" ]
then
- echo lesgo
+ program="$(dmenu_path | dmenu -l 4 -g 5 -p "program:")"
+ menucmd="dmenu -l 20 -g 1 -x -i -p $program:"
else
- echo "No options found for '${program}'" > /dev/stderr
- exit 1
+ program="$(dmenu_path | fzf)"
+ menucmd="fzf"
fi
-test -z "${option}" && exit 1
-rm -f "${opfil}"
-${program} ${option}
+test -z "${program}" && exit 1
+
+if $program --help > "$OPTIONS"
+then
+ option="$(grep -E "^ *-[-a-Z]* " "$OPTIONS" |
+ tr -s ' ' |
+ sort |
+ uniq |
+ column -l 2 -t |
+ $menucmd |
+ awk '{print $1}')"
+
+test -z "$option" && exit 1
+
+rm -f "$OPTIONS"
+setsid $program $option