all repos — zion-terminal @ 66508a0a605214d34c7a2231848d44ee63b394b2

dotfiles

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