From cb9832b5bef4e20f877197a95ef0dee332e27159 Mon Sep 17 00:00:00 2001
From: = <=>
Date: Sat, 19 Dec 2020 20:21:24 -0500
Subject: [PATCH] Add cmd functions

---
 prompt | 54 +++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 35 insertions(+), 19 deletions(-)

diff --git a/prompt b/prompt
index ca16b5d..c653860 100755
--- a/prompt
+++ b/prompt
@@ -2,16 +2,16 @@
 
 launch() {
 	app=$(printf "Notes
-Files
-Editor
-Terminal
-Multiplexer
-LBRY
-Chat
-Music
-Browser
-Email
-Processes" | 
+	Files
+	Editor
+	Terminal
+	Multiplexer
+	LBRY
+	Chat
+	Music
+	Browser
+	Email
+	Processes" | tr '\t' |
 		dmenu -i -p "Launcher")
 
 case $app in 
@@ -31,15 +31,17 @@ esac
 
 action() {
 	action=$(printf "Play Music
-Pause Music
-Toggle Music
-Select VPN
-Disable VPN
-Enable VPN
-VPN Status
-Rebind Keys
-Disable Bar
-Enable Bar" |
+	Pause Music
+	Toggle Music
+	Command
+	Command to clipboard
+	Select VPN
+	Disable VPN
+	Enable VPN
+	VPN Status
+	Rebind Keys
+	Disable Bar
+	Enable Bar" | tr -d '\t' |
 		dmenu -i -p "Actions")
 
 case $action in
@@ -49,6 +51,8 @@ case $action in
 	'Rebind Keys') setup-xbindkeys;;
 	'Disable Bar') tmux set -g status off;;
 	'Enable Bar') tmux set -g status on;;
+	'Command') cmd;;
+	'Command to clipboard') cmd_clip;;
 esac
 }
 
@@ -100,10 +104,22 @@ rawurlencode() {
 	esac
 }
 
+cmd() {
+	sh -c "$(printf '' | dmenu -i -p 'cmd')"
+}
+
+cmd_clip() {
+	value=$(cmd)
+	show_value="$(expr substr "$value" 1 200)\n..."
+	notify-send -u low -t 2000 "Items cliped" "$show_value"
+	printf "%s" "$value" | xclip -selection clipboard
+}
+
 case $1 in
 	launch) launch;;
 	action) action;;
 	cmd) action;;
+	cmd_clip) cmd_clip;;
 	ddg) ddg;;
 	*) printf "Invalid argument";;
 esac