2011-10-23 19 views
5

ayrı ayrı minibuffer emacs varsayılan yazı gelen, ama çok şans olmadan emacs'dan için yazı/yüzünü değiştirmeye teşebbüs ettik.Emacs minibuffer için yazı tipi boyutunu varsayılan emaclardan ayrı olarak değiştirmek mi gerekiyor?

Özellikle, mevcut yazı tipi ayarlamamda veya "netbook" ekranında emacs kullanıyorum, bazen karakter seçim seçenekleri ile, emacs MULE ile kullanmak için minibuffer yazı tipi boyutunu büyütmekle ilgileniyorum MULE biraz küçük.

Emacs içinde kolayca erişilebilen seçenekler, mini-önbellek istemcisi & minibuffer komut istemi özellikleridir, ancak bunlar yalnızca komut istemleri içindir ve normal minibuffer metni değildir.

Minibuffer çerçeveleri oluşturmak veya mini-bloker pencerelerden içerik almak için emaclarda listelenen bir dizi minibuffer değişkeni var gibi görünüyor. Ancak bunlar minibuffer yüzünü değiştirmeyle ilgili değildir. Minibuffer yüzünü varsayılan emaclardan ayrı olarak değiştirmek mümkün mü?

ilginç bir seçenek oneonone emacs http://www.emacswiki.org/emacs/OneOnOneEmacs projedir. Ama özel minibuffer çerçevesi değiştirilebilecek mi? Ayrıca mevcut emacs kurulumumu değiştirmeden önce, sadece yazı tiplerini değiştirmeyi veya kendi değiştirilebilen minibuffer çerçevemi oluşturmayı umuyordum…

Herhangi bir yardım ve/veya yaratıcı fikir oldukça memnun olarak.

cevap

5

Sen minibuffer-setup-hook aracılığıyla minibuffer için özelleştirme ekleyebilir. Orada, bunu gibi bazı face remapping yapabilirsiniz:

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

değiştirin my-minibuffer-setup gövdesini istediğiniz gibi. Yukarıdaki varsayılan yüzün yüksekliğini ikiye katlar.

+0

Bu harika bir yardım, ancak sadece bazı yönlerini değiştiren olduğunu. MULE tamamlama girişleri minibuffer inn olduğunu varsaymak hatalarını yaptım, ancak bu doğru görünmüyor. Kod, bir dosya girerken C-x C-f kullanarak bir şey girdiğimde ortaya çıkan mini üfleyiciyi etkiler. Emacs ekoaryasını değiştirmek için aynı kodu kullandım, ancak bu aynı zamanda MULE'nin tamamlanmalarını listelemek için kullandığı pencere de değil. MULE tarafından oluşturulan pencerenin adını bulmak için bir yöntem var mı? Belki de bunu bilmek, yukarıdaki kodu bu maddeyi etkilemek için değiştirilebilir. – Steve

+0

MULE, * Quail Completions * adlı bir arabellek açar.Bu arabellek, takas üzerine boş, ancak emacs karakter tamamlamalarını dislpays, kesinlikle oluşturulur. – Steve

0

Evet, kolayca varsayılan yüz ve yazı içeren bağımsız bir minibuffer çerçevenin özelliklerini özelleştirebilirsiniz.

Sen OneOnOneEmacs kullanıcı seçeneği 1on1-minibuffer-frame-alist özelleştirebilirsiniz. (Yoksa standart seçenek minibuffer-frame-alist özelleştirebilirsiniz -. Onun çerçeve parametre değerleri 1on1-minibuffer-frame-alist tarafından varsayılan olarak kullanılır)

font çerçeve parametre yazı (yaa) kontrol eden biridir. Yani, yazı tipi için ayarını değiştirerek 1on1-minibuffer-frame-alist seçeneğini özelleştirirsiniz.

Alternatif olarak, sadece istediğiniz yazı tipine 1on1-minibuffer-frame-font ayarlayabilirsiniz - minibuffer-frame-alist hiçbir açık font ayar olduğunda o 1on1-minibuffer-frame-alist tarafından yazı ayarı için varsayılan değer olarak kullanılır. Örneğin:

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

sonra tek başına bir minibuffer çerçevesini kullanmak Trey cevabını görmek istemiyorsanız

.

İlgili konular