私のWindows構成は次のようになります。
+----------+-----------+
| | |
| | |
| | |
| | |
| | |
| +-----------+
| | |
+----------+-----------+
そして、私は右下のウィンドウを特別な表示(ヘルプ、完了など)に使用しますが、emacsは、を使用するコマンド(find-file-other-window
など)を呼び出しdisplay-buffer
、そのウィンドウのサイズも変更するときに、そのウィンドウを使用することを主張します。迷惑です...emacsにそのウィンドウを使用しないように強制する方法はありますか?アドバイスを考えdisplay-buffer
ていたのですが、cの機能です。これについて何か考えはありますか?
編集:
Treyの答えに大きく基づいて、これは私にとってこれまでのところうまくいくものです:
(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))))))