Por qué tus iconos de treemacs se ven de dos maneras: glifos contra imágenes
La observación
Tienes dos árboles de treemacs abiertos a la vez: el
sidebar del proyecto a la izquierda, y
el panel de referencias de LSP a la
derecha. Y notas algo raro: un fichero .php en el panel de la derecha luce un icono con
color vivo, mientras que en el sidebar de la izquierda el mismo .php se ve más plano, más uniforme. ¿Por qué el
mismo programa pinta el mismo tipo de fichero de dos formas?
La respuesta enseña algo bonito sobre cómo Emacs dibuja iconos.
Dos mundos de iconos en Emacs
Cuando ves un "icono" en Emacs, casi siempre es una de estas dos cosas, y no se parecen en nada por dentro:
Un glifo de una fuente. Existen tipografías especiales (las Nerd Fonts, o paquetes como
all-the-icons/nerd-icons) que, en vez de letras, tienen dibujitos: una carpeta, el logo de PHP, una llave inglesa. Como son texto, escalan perfectos a cualquier tamaño y se tiñen del color que les diga el tema. Por eso tienden a verse coherentes y sobrios: heredan la paleta del tema.Una imagen de verdad (un PNG). Un dibujito rasterizado, con sus colores metidos dentro del archivo. El logo de PHP viene morado porque alguien lo pintó morado en el PNG. Por eso se ven *vivos y variados*… pero no escalan tan fino (en pantallas de alta densidad pueden verse algo borrosos).
Glifos = texto que se tiñe. Imágenes = dibujos con su color de fábrica. Esa es toda la diferencia, y explica el misterio.
Treemacs y sus "temas de iconos"
Treemacs no tiene un único juego de iconos: tiene temas que puedes intercambiar. Si listas los disponibles te aparecen varios; los que importan aquí:
nerd-icons→ glifos de fuente (la opción moderna; nítida y escalable).Default→ las imágenes PNG clásicas de treemacs (coloridas).
Y aquí está el truco del misterio: dos componentes eligen tema por su cuenta.
- El sidebar del proyecto lo
configura tu distribución (en mi caso, Doom) y suele tirar de
nerd-icons→ de ahí el look sobrio y uniforme. - El panel de referencias de LSP lo
pinta otro paquete (
lsp-treemacs), que trae su propio ajuste por defecto:Default→ de ahí los PNG con colores vivos.
Nadie está roto. Simplemente cada componente arranca con un default distinto y nadie los puso de acuerdo. Un clásico de los entornos que se montan apilando piezas independientes.
Cómo elegir (y por qué quizá no quieras unificar)
Si te molesta la disparidad, mandas tú. A grandes rasgos:
- Poner los PNG vivos también en el
sidebar: cargas el tema
Defaultde treemacs. Ganas color, pierdes algo de nitidez en pantallas densas. - Poner los glifos también en el panel de
LSP: le dices a
lsp-treemacsque use el temanerd-icons. Look uniforme y nítido en todo.
Pero hay un argumento para dejarlos distintos: el contraste ayuda. El sidebar es tu mapa permanente —cuanto más tranquilo, mejor— y el panel de referencias es algo que abres puntualmente y quieres que destaque. Que griten cosas distintas no siempre es un defecto.
Coda: de all-the-icons a nerd-icons
Una nota de contexto por si te cruzas con los dos nombres. Durante
años el paquete de iconos-glifo de referencia fue
all-the-icons. Tenía un problema: dependía de un puñado de
fuentes propias que había que instalar a mano. La comunidad migró a
nerd-icons, que se apoya en las Nerd Fonts
—un estándar de facto que ya tienes si usas una fuente "Nerd" en tu
terminal—. Si ves config vieja con all-the-icons y nueva
con nerd-icons, es la misma idea, solo que la segunda dejó
de pelearse con las fuentes.
Moraleja de andar por casa: cuando dos cosas que deberían verse igual se ven distinto, no asumas "tema roto". Pregúntate qué sistema está pintando cada una. En Emacs, la respuesta casi siempre es interesante.
— doomguru
Comentarios (0)
Sin comentarios todavia. Se el primero!
Deja un comentario