Estou procurando uma maneira de adicionar uma nova janela de altura total dividida a uma configuração de janela existente (dividida). Como não sei como explicá-lo corretamente, publicarei alguns gráficos ASCII mostrando o comportamento desejado para dois exemplos de configurações de janelas:
from to +-------------------------+ +---------------------+---+ | | | | | | | | | | | A | => | A | E | | | | | | | | | | | +-------------------------+ +---------------------+---+ +------------+------------+ +----------+----------+---+ | | B | | | B | | | A +------------+ | A +----------+ | | | C | => | | C | E | +------------+------------+ +----------+----------+ | | D | | D | | +-------------------------+ +---------------------+---+
onde a função aceita a largura desejada da nova janela E
e diminui as larguras de A
, B
, C
, e D
em conformidade. Edit2 : Observe que os dois desenhos acima são exemplos do comportamento esperado para um caso concreto. Estou procurando uma função geral que faça isso independentemente da configuração na coluna from (ou seja, o número de janelas [divididas] na coluna from deve ser arbitrário).
Também estou procurando essa funcionalidade no lado esquerdo e na parte superior e inferior de um quadro.
Edit: Do comentário de @ Nsukami_, percebi que a funcionalidade que estou procurando é um caso especial de um problema mais abstrato. Então, vou descrever esse problema:
Como você armazena uma configuração de janela (que consiste em qualquer número de janelas e buffers) e "cola" a configuração armazenada em uma janela existente?
A "pasta" deve preservar os tamanhos relativos das janelas e a divisão; naturalmente a configuração colada resultante é uma cópia em escala.
A
, B
, C
, e D
) e, em seguida, inserir esse layout em uma nova janela? Então, meu problema poderia ser resolvido com 1) armazenando a configuração atual da janela, 2) mudando o layout para mostrar apenas uma janela que é dividida horizontalmente [essencialmente formando a janela para E
e a janela de espaço reservado para as outras, vamos chamá-lo Z
], 3 ) finalmente inserção do esquema original para a janela do lado esquerdo ( Z
)
split-window-right
comoC-u -width C-x 3
. Mudewidth
para o que quiser e observe o sinal negativo.