Cómo encontrar el tema de color actual en emacs

24

Mientras se está ejecutando emacs, ¿cómo puedo saber qué tema de color está actualmente en uso?

Talespin_Kit
fuente

Respuestas:

19

No existe el concepto de un tema actual, y de hecho, se pueden aplicar varios temas en secuencia para definir aditivamente el conjunto de caras activas. Se agregó soporte para temas en las últimas versiones de Emacs (ver M-x customize-theme), y todavía existe la opción de "Seleccionar más de un tema a la vez".

En resumen, cuando activa un tema, no cambia a ese tema, sino que aplica los cambios especificados en el tema a las caras y variables que enumera.

Todas las personalizaciones que no se colocan explícitamente en un tema con nombre se colocan en el tema de usuario oculto, por lo que siempre hay al menos un tema activo. Los otros temas habilitados actualmente se enumeran en la variable custom-enabled-themes.

sanityinc
fuente
4

Comparta un ejemplo para usar color-theme-print para obtener el tema que apliqué.

a través de 'Mx color-theme-print' obtendrá resultados sobre la información del tema de color, luego encontrará un valor típico que es único para diferentes temas de color, elijo 'background-color' cuyo valor es 537182 para mis emacs.

Abra la biblioteca de temas de color 'color-theme-library.el', luego busque el archivo con la palabra clave como '537182', luego obtendrá el nombre del tema allí.

Aunque no es una forma directa, pero realmente funciona, ¡espero que ayude!

fwlx
fuente
3

M-x color-theme-printes útil para decirle exactamente qué fuentes están en efecto. No le dirá qué temas de color con nombre se han aplicado, pero debería poder resolverlo desde su archivo init. Si no, supongo que debe estar usando un modo que aplique su propio tema de color (sé que Proof General hace esto, y lo más irritante es).

jaybee
fuente
1
Al parecer, esta necesidad (require 'color-theme)primero
Rolazaro Azeveires
1

Para agregar a la respuesta de sanityinc, puede configurarlo usted mismo o está en su archivo init.el (dotemacs).

Supongo que lo preguntas porque probaste un par de ellos y te olvidaste, ¿verdad? Sé que sí, me pregunto si puedes consultar tu búfer de mensajes para ver el último aplicado.

@sanityinc gracias por la explicación también. Noté que cuando comencé a agregar más y más temas en sucesión, algunas áreas, como el mini búfer, no cambiarían o se establecerían en el valor del último tema. Ahora sé por qué.

pjammer
fuente
En el color-themepaquete anterior, hay una var llamada color-theme-is-cumulative, que puede configurar para nilque los temas no interfieran entre sí; Parece una buena idea, pero los resultados suelen ser totalmente inesperados, creo que en parte porque los temas generalmente hacen suposiciones sobre los rostros integrados.
Sí, me di cuenta de esa suposición también, cuando inventé uno ... Copiaría de uno 'popular' pero tendría la mitad de lo que hizo el siguiente ... etc. Llévame a pensar que algunos temas simplemente cambió las variables que 'quería' y que había cientos para cambiar, así que ¿por qué molestarse? En una nota relacionada, uso el tema lluvia de chocolate y me encanta ahora. Ha estado en mi versión 24.x durante muchos meses.
1
Probé algunos temas de color con el comando "color-theme-select", y me gustó un color-theme pero había cerrado el búfer de color-theme-select para entonces y también olvidé lo que había seleccionado, así que pensé que podría ser alguna variable está almacenando qué tema de color se está aplicando actualmente. No hay registros al respecto en el búfer de mensajes
Quizás pueda intentarlo M-x describe-face RET default RET(o una cara diferente no predeterminada), y luego usar M-x rgreppara buscar archivos .el de color-theme que contengan los mismos nombres de color / valores hexadecimales.
Lo sentimos, la solución al buscar en el búfer de Mensajes no está ayudando. M-x load-theme <colortheme>no imprime nada en el búfer de mensajes.
Christian Herenz