2008-09-18 10 views
12

Emacs çerçevelerimi en üst düzeye çıkarmak için maxframe.el kullanıyorum.Bir Emacs çerçevesini elisp ile tek bir monitörde maksimize etme

Çift kafalı Mac kurulumum (23 inç monitörlü MacBook Pro 15 inç dizüstü bilgisayar) dışında üç ana platformda da harika çalışıyor.

Bir Emacs çerçevesini en üst düzeye çıkarırken, çerçeve genişliğini hem monitörlerini ve daha büyük monitörün yüksekliğini doldurmak için genişler.

Açıkçası, çerçevenin yalnızca üzerinde bulunduğu monitörü dolduracak şekilde büyütmesini istiyorum. Elisp kullanarak iki monitörün kararlarını nasıl tespit edebilirim?

sayesinde Jacob

DÜZENLEME: Denis işaret ettiği gibi, mf-max-width ayarını makul bir çözümdür. Ama (bahsettiğim gibi) hem monitörde hem de herhangi bir çözünürlükte çalışan bir çözüm bekledim. Belki de Windows'a özgü w32-send-sys-komutu tarzında OSX'e özgü bir şey.

cevap

8

hızla Seni kullandığım aynı tekniği kullanıyoruz sanmıyorum maxframe.el ve sağlanan başvuru taradı. Aşağıdaki kod pasajı size yardımcı oluyor mu?


(defun toggle-fullscreen() 
    "toggles whether the currently selected frame consumes the entire display or is decorated with a window border" 
    (interactive) 
    (let ((f (selected-frame))) 
    (modify-frame-parameters f `((fullscreen . ,(if (eq nil (frame-parameter f 'fullscreen)) 'fullboth nil)))))) 
+0

Serin! Haklısınız, tamamen farklı bir çözüm, ama çok daha iyi, çünkü dock ve menü çubuğundan da kurtuluyor. Maalesef, sadece çift kafalı kurulumumun büyük ekranında çalışıyor, ama bu durumda da profesyonellerin eksilerini ağır bastığını düşünüyorum. Teşekkürler! – Chopmo

+0

Ne yazık ki bu 'ns' pencere sistemi için bilinen herhangi bir geçici çözüm - http://emacsformacosx.com/ ile çalışmak gibi görünmüyor? – Glyph

+0

Bu, 'mac' pencere sistemi için çalışıyor, minnetle ve 'ediff-toggle-wide-display' yerine kullanabiliyordum: https://gist.github.com/1283061 –

4

"mf-max-width" özelleştiriliyor mu? Onun belgeler:

"*The maximum display width to support. This helps better support the true 
nature of display-pixel-width. Since multiple monitors will result in a 
very large display pixel width, this value is used to set the stop point for 
maximizing the frame. This could also be used to set a fixed frame size 
without going over the display dimensions." 
+0

Cevabınız için teşekkürler, güncellenmiş açıklamaya bakın. – Chopmo

-2

Bu tür bir şey, pencere yöneticinizin görevidir, emacların görevi değildir. (Örneğin, Xmonad tam ekran emacs'i işler.)

+0

Katılıyorum ... ama başlangıç ​​zamanı Emacs XMonad'ın ona verdiği pencere boyutlarını anlamıyor gibi görünüyor. Bu yüzden Emacs'ın boyutlarını anlamasına izin vermek için bazı düzenler arasında geçiş yapıyorum. –