From 472b2e8f9255d5c8b17da02bf429539521f0d39f Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Wed, 22 May 2019 14:24:29 +0200 Subject: [PATCH] Add simple prompt program based on dmenu Can be used to as for confirmation for actions (E.g. shut down pc, reboot and so on). Takes 3 parameters, with the last being optional, in the form of: dmenuprompt "Text to display" "command to execute on yes" [success/warn/danger] The last flag only changes the colors being displayed by the prompt. If the last flag is not provided, it will display in default colors. --- .config/scripts/bin/dmenuprompt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100755 .config/scripts/bin/dmenuprompt diff --git a/.config/scripts/bin/dmenuprompt b/.config/scripts/bin/dmenuprompt new file mode 100755 index 0000000..4f5c025 --- /dev/null +++ b/.config/scripts/bin/dmenuprompt @@ -0,0 +1,15 @@ +#!/bin/sh +# A dmenu binary prompt script. +# Gives a dmenu prompt labeled with $1 to perform command $2. +# For example: +# `./prompt "Do you want to shutdown?" "shutdown -h now"` + +if [[ -z $3 ]] || [[ $3 == "normal" ]]; then + [ "$(printf "No\\nYes" | dmenu -i -p "$1")" = "Yes" ] && $2 +elif [[ $3 == "success" ]]; then + [ "$(printf "No\\nYes" | dmenu -i -p "$1" -nb webgreen -sb greenyellow -sf black -nf white )" = "Yes" ] && $2 +elif [[ $3 == "warn" ]] || [[ $3 == "warning" ]]; then + [ "$(printf "No\\nYes" | dmenu -i -p "$1" -nb goldenrod -sb gold -sf black -nf white )" = "Yes" ] && $2 +elif [[ $3 == "danger" ]]; then + [ "$(printf "No\\nYes" | dmenu -i -p "$1" -nb darkred -sb red -sf white -nf gray )" = "Yes" ] && $2 +fi