-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathterm_open
More file actions
executable file
·79 lines (72 loc) · 2.37 KB
/
term_open
File metadata and controls
executable file
·79 lines (72 loc) · 2.37 KB
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
#!/usr/bin/env sh
[ "$#" = 0 ] && exec "$TERMINAL"
# Mensagem de ajuda
Help() {
printf "
Abre o terminal na variável \$TERMINAL e adapta flags ao terminal usado
Sintaxe: term_open [-s] [-a nome] [-t titulo] [-i instancia] [-c classe] [-h|--help]
Sem argumentos abre o terminal
Uso:
-s
Separa o processo do terminal, Requer terminal compatível
-t
Define o titulo do terminal
-i
Define a instancia do terminal
-c
Define a classe do terminal
-a
Define o titulo,instancia e classe do terminal com o mesmo valor
-h,--help
Mostra essa ajuda e fecha
"
exit
}
echo "$@" | grep -q -e '-h$' -e ' -h ' -e '--help$' -e ' --help ' && Help
while getopts "s:a:t:i:c:" opt; do
case $opt in
s)
separar=1
;;
a)
term_titulo="$OPTARG"
term_instancia="$OPTARG"
term_classe="$OPTARG"
;;
t)
term_titulo="$OPTARG"
;;
i)
term_instancia="$OPTARG"
;;
c)
term_classe="$OPTARG"
;;
\?)
echo "Opção invalida: -$OPTARG" >&2
exit 1
;;
:)
echo "Opção -$OPTARG precisa de um argumento." >&2
exit 1
;;
esac
done
shift $((OPTIND - 1))
if [ "$TERMINAL" = "footclient" ] || [ "$TERMINAL" = "foot" ]; then
[ "$separar" = 1 ] && term_args=" -N"
[ -n "$term_titulo" ] && foot_titulo=" -T $term_titulo"
[ -n "$term_classe" ] && foot_app_id=" -a $term_classe"
eval exec "$TERMINAL$term_args$foot_titulo$foot_app_id -e $*"
elif [ "$TERMINAL" = "alacritty" ]; then
[ -n "$term_instancia" ] && alacritty_instancia=" --class $term_instancia"
[ -n "$term_classe" ] && alacritty_classe=",$term_classe"
[ -n "$alacritty_classe" ] && alacritty_instancia=" --class ${alacritty_classe#*,}"
[ -n "$term_titulo" ] && alacritty_titulo=" -t $term_titulo"
eval exec "$TERMINAL$alacritty_instancia$alacritty_classe$alacritty_titulo -e $*"
elif [ "$TERMINAL" = "st" ]; then
[ -n "$term_titulo" ] && st_titulo=" -T $term_titulo"
[ -n "$term_instancia" ] && st_instancia=" -n $term_instancia"
[ -n "$term_classe" ] && st_classe=" -c $term_classe"
eval exec "$TERMINAL$st_titulo$st_instancia$st_classe -e $*"
fi