Maximizando um quadro Emacs para apenas um monitor com elisp
Pergunta
Eu uso maxframe.el para maximizar meus quadros Emacs.
Ele funciona muito bem em todos os três principais plataformas, exceto no meu dual-head Mac setup (Pro laptop de 15 polegadas Macbook com monitor de 23 polegadas).
Quando maximização de uma moldura Emacs, a estrutura se expande para preencher a largura de e a altura do monitor maior.
Obviamente, eu gostaria que o quadro para maximizar para preencher apenas o monitor ele está ligado. Como posso detectar as resoluções dos dois monitores individuais usando elisp?
Obrigado, Jacob
EDIT: Como Denis aponta, definindo mf-max-width é uma solução razoável. Mas (como eu deveria ter mencionado) Eu estava esperando por uma solução que funciona em ambos os monitores e com qualquer resolução. Talvez específico OSX-algo no estilo do específicas do Windows w32-Send-sys-comando.
Solução
Eu rapidamente esquadrinhou a referência que você forneceu para maxframe.el
e eu não acho que você está usando a mesma técnica que eu uso. Faz o seguinte trecho de código ajudá-lo?
(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))))))
Outras dicas
O personalização `mf-max-width' trabalho? Sua documentação:
"*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."
Este tipo de coisa é o trabalho de seu gerenciador de janelas, não o trabalho de emacs. (Por exemplo, xmonad lida com emacs full-screen muito bem.)