# WezTerm · Configuración con temas visuales

Configuración de [WezTerm](https://wezterm.org) orientada a una estética de terminal de **sysadmin / developer / hacker**, con múltiples temas intercambiables en caliente.

## Instalación

El directorio de configuración de WezTerm es `~/.config/wezterm/`. Puedes copiar los archivos directamente o enlazarlos desde este repositorio:

```bash
# Opción 1: copiar
cp -r wezterm.lua themes ~/.config/wezterm/

# Opción 2: enlace simbólico (mantiene el repo como fuente de verdad)
ln -s "$(pwd)" ~/.config/wezterm
```

Recarga la configuración dentro de WezTerm con `CTRL+SHIFT+R`.

## Temas

| Tema | Estética | Fondo | Acento |
|------|----------|-------|--------|
| `matrix` | Hacker · verde neón sobre negro | `#000000` | `#00ff41` |
| `phosphor-green` | Retro · fósforo verde VT100 | `#001a00` | `#33ff33` |
| `phosphor-amber` | Retro · fósforo ámbar VT100 | `#1a0f00` | `#ffb000` |
| `cyberpunk` | Neon · magenta/cian sobre púrpura | `#0d0221` | `#ff2a6d` |
| `nord` | Sysadmin · azul-gris sobrio | `#2e3440` | `#81a1c1` |
| `tokyonight` | Developer · azul oscuro | `#1a1b26` | `#7aa2f7` |
| `dracula` | Developer · púrpura oscuro | `#282a36` | `#bd93f9` |

## Capturas

Tema **Matrix** — hacker, verde neón sobre negro:

<p align="center">
  <img src="capturas/MATRIX.png" alt="Tema Matrix" width="720">
</p>

Tema **Cyberpunk** — neón magenta/cian sobre púrpura:

<p align="center">
  <img src="capturas/CYBERPUNK.png" alt="Tema Cyberpunk" width="720">
</p>

Tema **Phosphor-Amber** — fósforo ámbar retro:

<p align="center">
  <img src="capturas/PHOSPHOR-AMBER.png" alt="Tema Phosphor-Amber" width="720">
</p>

## Atajos

| Atajo | Acción |
|-------|--------|
| `CTRL+SHIFT+H` | Ciclar al siguiente tema (con notificación) |
| `CTRL+SHIFT+R` | Recargar configuración |

La selección de tema se persiste en `.current-theme` (no versionado): al abrir WezTerm arranca con el último tema elegido. Sin ese archivo, el tema por defecto es `matrix`.

## Dividir panes y moverse

| Atajo | Acción |
|-------|--------|
| `CTRL+SHIFT+ALT+"` | Dividir verticalmente (pane arriba/abajo) |
| `CTRL+SHIFT+ALT+%` | Dividir horizontalmente (pane izquierda/derecha) |
| `CTRL+SHIFT+←/→/↑/↓` | Moverse entre panes |
| `CTRL+SHIFT+ALT+←/→/↑/↓` | Redimensionar el pane activo |
| `CTRL+SHIFT+Z` | Zoom sobre el pane activo (maximizar) |
| `CTRL+SHIFT+W` | Cerrar pane/pestaña (con confirmación) |
| `CTRL+SHIFT+T` | Nueva pestaña |

Son los atajos por defecto de WezTerm (verificados con `wezterm show-keys`), así que funcionan sin configuración adicional.

## Personalización asistida

Este repositorio incluye la skill `wezterm` (`.agents/skills/wezterm/SKILL.md`): una guía para configurar y personalizar WezTerm — fuentes, colores, keybindings, tab bar, leader key, dominios SSH, multiplexor y más. Úsala como referencia para ampliar esta configuración o construir nuevas funciones.

## Estructura

```
wezterm.lua          # Configuración principal: fuentes, tab bar, status bar, atajos
themes/
├── registry.lua     # Registro, ciclado y persistencia de temas
├── matrix.lua       # Un archivo por tema (paleta ansi/brights/tab_bar completa)
├── phosphor-green.lua
├── phosphor-amber.lua
├── cyberpunk.lua
├── nord.lua
├── tokyonight.lua
└── dracula.lua
```

Cada tema es autocontenido: define su propia paleta de colores (`foreground`, `background`, cursor, selección, `ansi[8]`, `brights[8]`, tab bar), opacidad, gradiente de fondo y parpadeo del cursor, por lo que no depende de esquemas externos.

## Añadir un tema nuevo

1. Crea un archivo en `themes/` siguiendo el mismo formato que los existentes (tabla con `name`, `label`, `colors` y ajustes opcionales).
2. Regístralo en `themes/registry.lua` dentro de la lista `theme_files`.
3. Recarga con `CTRL+SHIFT+R` y cíclalo con `CTRL+SHIFT+H`.

## Requisitos

- WezTerm 20240203 o superior
- Fuente `JetBrains Mono` (con `Nerd Font Symbols` como fallback)