
desde un marcoprimer fotogramaque contiene dos ventanas de Emacs,ganar unomostrando bufferbuf-unoyganar dosmostrandobuf-dos, me gustaría poder 'romper'ganar dosen su propio marco, tal vez usando un clic modificador en la línea del modelo. Después de este,
- ambosganar unoyganar dosconservarían sus asociaciones individuales de altura/ancho y amortiguación que tenían cuando estaban enprimer fotograma
- ganar unopermanecería en el mismoprimer fotograma, yganar dosahora estaría en un nuevo y separadosegundo fotograma
- La configuración original de posición, color y fuente se conservará siempre que sea posible.
Me preguntaba si este comportamiento estaba disponible en algún lugar de la biblioteca estándar, si había una extensión para él o tal vez si una pequeña función elisp funcionaría.
Respuesta1
Sí, existe tal comando: mouse-tear-off-window
. Lo vinculo C-mouse-1
a la línea de modo:
(global-set-key [mode-line C-mouse-1] 'mouse-tear-off-window)
El comando está disponible en Vanilla Emacs ( emacs -Q
). Pero uso mi propia versión, que no elimina la ventana si está sola en su marco. En cambio, clona el marco y la ventana. Esa versión está en la biblioteca.ratón+.el. Cadena de documento:
,----
| mouse-tear-off-window is an interactive compiled Lisp function in
| `mouse+.el'.
|
| It is bound to mode-line C-mouse-1.
|
| (mouse-tear-off-window EVENT)
|
| Create a new frame displaying buffer of window clicked on.
| If window is not the only one in frame, then delete it.
| Otherwise, this command effectively clones the frame and window.
`----
Respuesta2
Este es un enlace predeterminado:
C-x 5 C-o : display-buffer-other-frame
Lo que hace: Mostrar el búfer BUFFER en otro cuadro.
Respuesta3
Puedes usar:
M-x new-frame
Lo he vinculado a F9, por ejemplo:
(global-set-key (kbd "<f9>") 'new-frame)