2011-10-23 6 views
5

He estado intentando alterar la fuente/cara del minibúfer de emacs por separado de las fuentes predeterminadas de emacs, pero sin mucha suerte.¿Alterar el tamaño de fuente para el minibúfer de Emacs por separado de los emacs predeterminados?

Específicamente, estoy interesado en hacer que el tamaño de la fuente del minibúfer sea más grande para usar con eMAcs como, con mi configuración de fuente actual o si estoy usando emacs en una pantalla de "netbook", algunas veces las opciones de selección de caracteres en los MULE son un poco pequeños

Las opciones a las que se accede fácilmente en emacs son las minibuffer-prompt-properties &, pero estas son solo para solicitudes de comando y no para el texto regular del minibúfer.

Parece que hay varias variables de minibúfer listadas en emacs para crear marcos de minibúfer u obtener contenido de ventanas de minibúfer, etc., pero estas no se refieren a la alteración de la cara del minibúfer. ¿Es posible alterar el rostro del minibúfer por separado de los emacs por defecto?

Una opción interesante es el proyecto oneonone emacs http://www.emacswiki.org/emacs/OneOnOneEmacs. Pero, ¿podría alterarse el marco dedicado del minibúfer? Además, antes de alterar mi configuración de emacs actual de forma drástica, espero poder alterar primero las fuentes o crear mi propio marco alterable del minibúfer, etc.

Cualquier ayuda y/o idea creativa sería apreciado enormemente.

Respuesta

5

Puede agregar personalización al minibúfer a través del minibuffer-setup-hook. En allí, se puede hacer un poco de face remapping así:

(add-hook 'minibuffer-setup-hook 'my-minibuffer-setup) 
(defun my-minibuffer-setup() 
     (set (make-local-variable 'face-remapping-alist) 
      '((default :height 2.0)))) 

Cambio del cuerpo de la my-minibuffer-setup lo deseas. Lo anterior dobla la altura de la cara predeterminada.

+0

Esta es una ayuda maravillosa, sin embargo, solo cambia algunos aspectos. Cometí los errores de suponer que las entradas de finalización de MULE están en el minibúfer, pero parece que esto no es cierto. El código afecta al minibúfer que ocurre cuando ingreso algo, digamos usando C-x C-f para encontrar un archivo. Usé el mismo código para alterar el área de eco de emacs, sin embargo, esta tampoco es la ventana que utiliza la MULE para listar sus terminaciones. ¿Hay algún método para averiguar el nombre de la ventana creada por el MULE? Tal vez sabiendo esto, el código anterior puede ser alterado para afectar este elemento. – Steve

+0

Parece que el MULE abre un búfer llamado * Quail Completions *.Este búfer está vacío al intercambiarlo, pero definitivamente se crea cuando emacs rechaza las terminaciones de caracteres. – Steve

0

Sí, puede personalizar fácilmente las propiedades de un marco de minibúfer independiente, incluida su cara y fuente predeterminadas.

Puede personalizar la opción de usuario OneOnOneEmacs1on1-minibuffer-frame-alist. (O bien, puede personalizar la opción estándar minibuffer-frame-alist -. Sus valores de parámetros de trama se utilizan como valores predeterminados por 1on1-minibuffer-frame-alist)

El parámetro marco font es el que controla la fuente (duh). Entonces, personalizaría la opción 1on1-minibuffer-frame-alist, cambiando su configuración para la fuente.

Como alternativa, puede simplemente establecer 1on1-minibuffer-frame-font a la fuente que desea - se utiliza como valor predeterminado para la configuración de la fuente por 1on1-minibuffer-frame-alist siempre que no haya font ajuste explícito en minibuffer-frame-alist. Por ejemplo:

 
    (setq 1on1-minibuffer-frame-font 
      "-*-Lucida Console-normal-r-*-*-14-112-96-96-c-*-iso8859-1") 

Si no desea utilizar un marco minibuffer independiente luego ver la respuesta de Trey.

Cuestiones relacionadas