Если вы не хотите, чтобы вас раздражали воровство и изменение размеров окна, добавьте следующие строки в ваш .emacs для окончательного решения, которое работает даже с такими библиотеками, как gud, которые пытаются открыть новый кадр, когда они могут не укради твои окна :
(см. этот ответ для получения информации о следующих advice
)
(defadvice pop-to-buffer (before cancel-other-window first)
(ad-set-arg 1 nil))
(ad-activate 'pop-to-buffer)
;; Toggle window dedication
(defun toggle-window-dedicated ()
"Toggle whether the current active window is dedicated or not"
(interactive)
(message
(if (let (window (get-buffer-window (current-buffer)))
(set-window-dedicated-p window
(not (window-dedicated-p window))))
"Window '%s' is dedicated"
"Window '%s' is normal")
(current-buffer)))
;; Press [pause] key in each window you want to "freeze"
(global-set-key [pause] 'toggle-window-dedicated)
и настройте переменную pop-up-windows
на nil
.
вы также можете использовать StickyWindows вместо функции, выделенной для окна.