-
Notifications
You must be signed in to change notification settings - Fork 0
/
TEMPLATE
134 lines (109 loc) · 2.48 KB
/
TEMPLATE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
######## template for guming programs ###################
#for cislo in {1..256}; do
#color_code=$((cislo % 256))
#echo -e "\e[38;5;${color_code}m$cislo\e[0m"
#done | tr '\n' '\n' > numbers
#for cislo in {1..16}; do
#color_code=$((cislo % 16))
#echo -e "\e[38;5;${color_code}m$cislo\e[0m"
#done | tr '\n' '\n' > numbers16
###
######## EASY will run with option selected - only 1 menu
###
#!/usr/bin/bash
# Author: zenobit
# Description: Uses gum to provide a simple TUI
# License MIT
# - CHANGE all X to whats needed
# color
c="#295340"
# gum filter
export GUM_FILTER_INDICATOR_FOREGROUND=${c}
export GUM_FILTER_SELECTED_PREFIX_FOREGROUND=${c}
export GUM_FILTER_HEADER_FOREGROUND=${c}
export GUM_FILTER_CURSOR_TEXT_FOREGROUND=${c}
# gum style
export GUM_STYLE_FOREGROUND=${c}
# filter height
h=X
header() {
gum style \
--padding '0 1' \
--border rounded \
--align center \
--border-foreground $c \
"\
TUI for X"
}
header
choice=$(echo "\
X" | gum filter --header "Action..." --height $h)
X $(echo ${choice} | cut -d' ' -f1) ${1} || echo "No argument provided!"
###
######## BIT COMPLICATED: loop adding arguments until satisfied
###
#!/usr/bin/bash
# Author: zenobit
# Description: Uses gum to provide a simple TUI
# License MIT
# - CHANGE all X to whats needed
# color
c="#295340"
# gum filter
export GUM_FILTER_INDICATOR_FOREGROUND=${c}
export GUM_FILTER_SELECTED_PREFIX_FOREGROUND=${c}
export GUM_FILTER_HEADER_FOREGROUND=${c}
export GUM_FILTER_CURSOR_TEXT_FOREGROUND=${c}
# gum style
export GUM_STYLE_FOREGROUND=${c}
export GUM_STYLE_BORDER_FOREGROUND=${c}
export GUM_STYLE_BORDER="rounded"
# filter height
h=X
header() {
gum style \
--padding '0 1' \
--align center \
--border-foreground $c \
"$headertext"
}
headertext="TUI for X"
header
# first one
X_() {
headertext="X"
header
h=X
choice=$(echo "\
X" | gum filter --header "Action..." --height ${h})
ch=$(echo ${choice} | cut -d' ' -f1)
echo -n "${ch} " > "tmp-$ch"
}
# other ones
X_X() {
headertext="X"
header
h=X
choice=$(echo "\
ENOUGH Stop choosing arguments
X
EXIT" | gum filter --header "Action..." --height ${h})
ch=$(echo ${choice} | cut -d' ' -f1)
if [ ${ch} == 'ENOUGH' ]; then
echo -e "\n" >> tmp-X
echo -e "\nUsing:\n X $(cat tmp)\n"
arguments=($(cat tmp-X))
X "${arguments[@]}" #"$(gum file --file=no --directory)"
else
echo -n "${ch} " >> tmp-X
X_X
fi
}
X_
case "${ch}" in
X) X_X;;
X) X_X;;
help) show_help;;
EXIT) exit 0;;
esac
echo -e "\nUsed:\n X $(cat tmp)\n"