Ma configuration Windows ressemble à ceci:Comment forcer Emacs à ne pas afficher le tampon dans une fenêtre spécifique?
+----------+-----------+
| | |
| | |
| | |
| | |
| | |
| +-----------+
| | |
+----------+-----------+
Et j'utiliser la fenêtre en bas à droite pour les écrans spéciaux (comme l'aide, l'achèvement, etc.), mais emacs insiste sur l'utilisation de cette fenêtre quand je l'appelle commandes (find-file-other-window
, etc. .) qui utilisent display-buffer
et redimensionnent également cette fenêtre. C'est embêtant ... Existe-t-il un moyen de forcer Emacs à ne PAS utiliser cette fenêtre? Je pensais conseiller display-buffer
, mais c'est une fonction dans c. Des pensées à ce sujet?
EDIT:
Basé en grande partie sur la réponse de Trey, c'est ce qui fonctionne pour moi jusqu'à présent:
(setq special-display-function 'my-display-buffer)
(setq special-display-regexps '(".*"))
(defun display-special-buffer (buf)
"put the special buffers in the right spot (bottom rigt)"
(let ((target-window (window-at (- (frame-width) 4) (- (frame-height) 4)))
(pop-up-windows t))
(set-window-buffer target-window buf)
target-window))
(defun my-display-buffer (buf)
"put all buffers in a window other than the one in the bottom right"
(message (buffer-name buf))
(if (member (buffer-name buf) special-display-buffer-names)
(display-special-buffer buf)
(progn
(let ((pop-up-windows t)
(windows (delete (window-at (- (frame-width) 4) (- (frame-height) 4))
(delete (minibuffer-window) (window-list)))))
(message (buffer-name (window-buffer (car windows))))
(set-window-buffer (car (cdr windows)) buf)
(car (cdr windows))))))
J'ai vu l'autre question et en effet utilisé votre solution; mais ma question n'est pas la même. Je ne demande pas de forcer emacs à utiliser une fenêtre mais sur emacs de ne PAS utiliser une fenêtre spécifique. – polyglot
Juste, je ne pense pas qu'Emacs a la capacité d'exclure Windows, donc vous devrez utiliser une version modifiée pour exclure la fenêtre en bas à droite de la liste des fenêtres. Je remarque que j'ai oublié de faire ça dans mon pressé couper/coller, lemme mise à jour ça. –
Lorsque vous faites (windows de la voiture), il retourne effectivement les fenêtres en cours. Mais (voiture (cdr windows)) fonctionnera parfaitement. Aussi (- (frame-height) 2) parfois trouver le mini-buffer à la place (puisqu'il s'étend parfois jusqu'à 2 lignes), donc j'utilise 4 au lieu de 2. – polyglot