emacs window compilation frame dot-emacs

Cuando utilizo dos marcos en emacs, ¿cómo evito que el búfer de compilación se muestre en ambos?



window compilation (1)

Trabajo con dos monitores, y uso a menudo emacs con dos marcos abiertos; uno para cada monitor Cada cuadro está dividido en dos ventanas de lado a lado, de esta manera:

a | b <-- frame 1 in monitor 1 ------- c | d <-- frame 2 in monitor 2

Cuando presiono mi botón ''compilar'' mientras estoy en la ventana a, el búfer de compilación se abre en el búfer al lado. Hasta ahora tan bueno:

a | compilation ----------------- c | d

Sin embargo, si luego me muevo a la ventana c para editar algunas cosas, luego presiono compilar nuevamente, la ventana d también visita el búfer de compilación:

a | compilation ------------------ c | compilation

Así que ahora tengo la mitad de mi pantalla de bienes raíces ocupada por dos copias del mismo búfer de compilación, preguntándome por qué tengo dos monitores :)

Puedo evitar esto presionando concienzudamente solo la tecla de compilación cuando mi cursor está en el búfer al lado del búfer de compilación actualmente abierto, pero presiono "compilar" tan pronto y con frecuencia que normalmente no tengo la mente en la mente. . Siento que debe haber algo que pueda modificar en .emacs para que no tenga que hacerlo.

¿Alguna sugerencia? Idealmente, cuando presiono ''compilar'', el búfer de compilación actualmente abierto debería moverse desde su ventana anterior a la que está al lado de la ventana actualmente utilizada. Si eso es demasiado complicado, me conformaría fácilmente con que emacs no visite el búfer de compilación en la ventana vecina, si ya está abierto en otra ventana.


(setq-default display-buffer-reuse-frames t)

De la documentación:

No nulo significa que ''display-buffer'' debería reutilizar marcos. Si el búfer en cuestión ya se muestra en un marco, levante ese marco.