Dividir uma janela do Emacs em um novo quadro

3

De um frame primeiro frame contendo duas janelas Emacs, win-one exibindo buffer buf-one e win-two exibindo buf-two , eu gostaria de ser capaz de 'quebrar' win-two em seu próprio frame, talvez usando um modificador-clique em a modelina. Depois disso,

  • os dois win-one e win-two manteriam suas associações individuais de altura / largura e buffer que tinham quando em primeiro quadro
  • win-one permaneceria no mesmo primeiro frame , e win-two estaria agora em um novo second-second quadro
  • configurações originais de posição, cor e fonte seriam retidas sempre que possível

Eu queria saber se esse comportamento estava disponível em algum lugar na biblioteca padrão, se havia uma extensão para ele, ou talvez se uma pequena função elisp funcionaria?

    
por user38983 01.10.2012 / 03:25

3 respostas

1

Sim, existe esse comando: mouse-tear-off-window . Eu o vinculo a C-mouse-1 na linha de modo:

(global-set-key [mode-line C-mouse-1] 'mouse-tear-off-window)

O comando está disponível no Emacs baunilha ( emacs -Q ). Mas eu uso minha própria versão, que não apaga a janela se estiver sozinha em seu quadro. Em vez disso, clona a moldura e a janela. Essa versão está na biblioteca mouse + .el . Cadeia de doc:

,----
| 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.
'----
    
por 12.11.2013 / 05:29
1

Esta é uma ligação padrão:

C-x 5 C-o : display-buffer-other-frame

O que faz: exibir buffer BUFFER em outro quadro.

    
por 01.10.2012 / 09:47
0

Você pode usar:

M-x new-frame

Eu o vinculei a F9 , por exemplo:

(global-set-key (kbd "<f9>") 'new-frame)
    
por 01.10.2012 / 23:03

Tags