opt/zion-terminal/config/tema.sh (view raw)
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 |
#!/usr/bin/env bash
# =====================================================================
# ZION TERMINAL - Tema de cores (paleta completa)
# Cyberdeck criado por Pablo Murad em 2026
# ---------------------------------------------------------------------
# Paleta padrao: "ice" (Ice DERP-blue). Alternativas: "amber", "green".
# Persistencia: /opt/zion-terminal/config/tema.conf (sistema) e depois
# ~/.zion-tema (override do usuario; escrito por 'zion tema').
# Respeita NO_COLOR, TERM=dumb e ausencia de TTY (escape: ZION_FORCE_COLOR=1).
# ---------------------------------------------------------------------
# Variaveis exportadas (uma paleta completa):
# ZP primaria ZS secundaria ZA acento ZMUT neutra/apagada
# ZBRD borda ZDISC discreto ZOK sucesso ZWARN atencao
# ZCRIT critico ZWHT texto forte ZGRY texto fraco ZR reset ZB bold ZDIM dim
# =====================================================================
[ -r /opt/zion-terminal/config/tema.conf ] && . /opt/zion-terminal/config/tema.conf 2>/dev/null
[ -r "$HOME/.zion-tema" ] && . "$HOME/.zion-tema" 2>/dev/null
ZION_TEMA="${ZION_TEMA:-ice}"
zion_tem_cor() {
[ -n "${NO_COLOR:-}" ] && return 1
[ "${TERM:-dumb}" = "dumb" ] && return 1
[ -t 1 ] || [ "${ZION_FORCE_COLOR:-0}" = "1" ] || return 1
return 0
}
if zion_tem_cor; then
ZR='\033[0m'; ZB='\033[1m'; ZDIM='\033[2m'
case "$ZION_TEMA" in
amber) # Amber CRT
ZP='\033[38;5;214m'; ZS='\033[38;5;172m'; ZA='\033[38;5;223m'
ZMUT='\033[38;5;94m'; ZBRD='\033[38;5;130m'; ZDISC='\033[38;5;180m' ;;
green) # Zion Green (fosforo)
ZP='\033[38;5;46m'; ZS='\033[38;5;34m'; ZA='\033[38;5;120m'
ZMUT='\033[38;5;28m'; ZBRD='\033[38;5;22m'; ZDISC='\033[38;5;108m' ;;
*) # ice (Ice DERP-blue) - padrao
ZP='\033[38;5;51m'; ZS='\033[38;5;39m'; ZA='\033[38;5;123m'
ZMUT='\033[38;5;66m'; ZBRD='\033[38;5;24m'; ZDISC='\033[38;5;110m' ;;
esac
# Semaforo de saude (consistente entre temas)
ZOK='\033[38;5;42m'; ZWARN='\033[38;5;220m'; ZCRIT='\033[38;5;196m'
ZWHT='\033[38;5;255m'; ZGRY='\033[38;5;245m'
else
ZR=''; ZB=''; ZDIM=''; ZP=''; ZS=''; ZA=''; ZMUT=''; ZBRD=''; ZDISC=''
ZOK=''; ZWARN=''; ZCRIT=''; ZWHT=''; ZGRY=''
fi
# Simbolo oficial (ASCII em TERM=dumb)
if [ "${TERM:-dumb}" = dumb ] || [ -n "${ZION_ASCII:-}" ]; then ZSYM='>>Z>>'; else ZSYM='»Z»'; fi
export ZION_TEMA
|