Con eso me refiero a elementos de la interfaz de usuario (por ejemplo, campos de texto y botones animados) que no están restringidos a la cuadrícula de caracteres monoespaciados de emuladores de terminal, pero pueden ser formas arbitrarias en posiciones arbitrarias de píxeles en la pantalla. Simplemente tengo curiosidad por saber si es posible y cómo, y si no es posible, si está planificado para el futuro.
11
svg-clock
paquete en GNU ELPA para un ejemplo "simple". Pero si desea dibujar sobre otros elementos, entonces la respuesta es tristemente "no", aunque muchas personas estarían felices si alguien escribiera un parche que lo haga.Draw image.png(400x600+16+30)
que dibuje una imagen a escala en esa coordenada particular en relación con alguna esquina.Respuestas:
Los campos de texto y los botones (como, en los buffers Personalizar) están sujetos a la cuadrícula en la que Emacs alinea los caracteres.
Lo que puede hacer es decirle a Emacs que muestre una imagen del tipo SVG (vector) o XPM (mapa de bits). Dado que no se limita a leerlos desde un archivo, puede generar una cadena y convertirla en una imagen. He visto ejemplos de uso similar a un lienzo donde la imagen ocupa la mayor parte de la ventana y se dibuja libremente (vea svg-thing , slime-volley , svg-clock , my own svg-2048 ) y un uso menos desagradable que más bien parecerse a elementos de la interfaz (ver los iconos en auctex , ñus 'modeline icono, la versión gráfica del
M-x tetris
, SVG-modeline) Todavía queda bastante trabajo por hacer teniendo en cuenta que Emacs no tiene un tipo de imagen similar al lienzo, pero es posible desplazar estas imágenes y usarlas como propiedad de visualización de otros elementos de la interfaz de usuario como la línea de modo o margen y las teclas de enlace, incluido el mouse unos para ellosfuente
Para dibujar gráficos de trama, puede probar EPaint . Parece admitir dibujos a mano alzada y formas geométricas básicas.
fuente