summaryrefslogtreecommitdiff
path: root/bin/dmscripts/dmhelp
diff options
context:
space:
mode:
Diffstat (limited to 'bin/dmscripts/dmhelp')
-rwxr-xr-xbin/dmscripts/dmhelp26
1 files changed, 26 insertions, 0 deletions
diff --git a/bin/dmscripts/dmhelp b/bin/dmscripts/dmhelp
new file mode 100755
index 0000000..653fa1f
--- /dev/null
+++ b/bin/dmscripts/dmhelp
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+program="${1:-$(dmenu_path | dmenu -l 4 -g 5)}"
+opfil="/tmp/dmh_options.txt"
+test -z "${program}" && exit 1
+
+if ${program} --help > "${opfil}"
+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}"
+then
+ echo lesgo
+else
+ echo "No options found for '${program}'" > /dev/stderr
+ exit 1
+fi
+test -z "${option}" && exit 1
+
+rm -f "${opfil}"
+${program} ${option}