Saltar al contenido principal
¿No te gustó ninguno de los 18 integrados? Trae el tuyo. Es un archivo .json, y TYBA lo valida entero antes de aceptarlo.

Los dos botones

Settings → Appearance, en la línea de la sección Themes: Import theme… también está en la paleta de comandos (⌘P / Ctrl+Shift+P), en el grupo Theme.
Importar desde Settings no aplica. El tema entra en la cuadrícula; para usarlo, haz clic en él. Y hacer clic puede cambiar el modo — ve Modo claro y oscuro. Desde la paleta de comandos es diferente: ahí importar aplica el tema de inmediato.

El ejemplo

Esto es exactamente lo que el botón Copy example pone en tu portapapeles. Edita los colores e impórtalo.

Los campos de nivel superior

Un campo desconocido en el nivel superior tumba el archivo entero. Un "author" o "version" de más no se ignora — es un error. Lo mismo vale dentro de terminal.
ui y terminal son los dos opcionales, y omitirlos tiene un significado útil:
  • Sin terminal, el tema hereda la paleta de terminal de TYBA Dark o de TYBA Light, según su base.
  • Sin ui, la interfaz se queda con las superficies por defecto de esa base.
O sea: { "name": "Mi Tema", "base": "light" } es un tema válido — solo que no cambia nada. Y solo necesitas declarar las claves de ui que quieras cambiar; el resto hereda de la base.

ui — las 21 claves

Cualquier clave fuera de esta lista se rechaza. Todas son opcionales.
Los tints, los glows, el color de selección, el vidrio y el hover se derivan solos de los acentos. No existe clave para ellos — y por eso puedes escribir un tema con cinco colores y que salga coherente.

terminal

16 colores, ni 15 ni 17. Una lista de otro tamaño es un error — no se rellena ni se recorta.
El orden de ansi es el de siempre: los 8 normales y después los 8 brillantes.

Los colores

Solo hexadecimal, siempre con #: red, rgb(0,0,0), hsl(...) y #ffff se rechazan todos. El mensaje de error dice qué clave lo rompió.

Nombre, id y nombres reservados

El id del tema es el slug del name: minúsculas, y todo lo que no sea letra o número se convierte en guion. Dracula Pro! pasa a ser dracula-pro. Café com Leite pasa a ser caf-com-leite — los acentos no sobreviven al slug, pero el name que aparece en la cuadrícula los conserva.
Un nombre que choca con un tema integrado se rechaza — el error es nombre reservado. No puedes importar algo llamado “Dracula” o “TYBA Dark” y sobrescribir el original. Elige otro nombre.
Si un nombre solo tiene símbolos (___), el slug queda vacío y el import falla por nombre inválido. Dos imports con el mismo slug: el segundo sobrescribe al primero, sin preguntar. La cuadrícula sigue con una sola entrada.

Tamaño

El archivo tiene que ser un archivo regular y pesar 256 KB como máximo. Por encima de eso, se rechaza antes incluso de leerse como JSON.

Cuando sale mal

Un error de import se convierte en una alerta del sistema con el mensaje de validación — clave equivocada, color inválido, ansi del tamaño equivocado, nombre reservado. No se graba nada.

Dónde vive el tema

El import copia el archivo, ya normalizado, a la carpeta de configuración de la app: El nombre del archivo es el id: dracula-pro.json. El archivo original desde el que importaste no se usa después — tocarlo no cambia nada.
Puedes poner archivos .json directamente en esa carpeta en vez de usar el botón. TYBA lee la carpeta entera al listar los temas. Pero entonces no hay alerta: un archivo inválido simplemente se ignora y el tema no aparece. Un archivo cuyo nombre coincide con un id integrado también se ignora — el integrado siempre gana.

Qué no existe

¿Borraste el .json de un tema que estaba en uso? El slot cae al integrado de esa base en la siguiente lectura. La app no se rompe.

Ver también

Los temas

Los 18 integrados, antes de que escribas el tuyo.

Modo claro y oscuro

Dónde cae tu tema después de importarlo.