Je recherche un moyen d'ajouter une nouvelle fenêtre pleine hauteur à une configuration de fenêtre existante (divisée). Parce que je ne sais pas comment l'expliquer correctement, je posterai juste quelques graphiques ASCII montrant le comportement souhaité pour deux exemples de configurations de fenêtres:
from to +-------------------------+ +---------------------+---+ | | | | | | | | | | | A | => | A | E | | | | | | | | | | | +-------------------------+ +---------------------+---+ +------------+------------+ +----------+----------+---+ | | B | | | B | | | A +------------+ | A +----------+ | | | C | => | | C | E | +------------+------------+ +----------+----------+ | | D | | D | | +-------------------------+ +---------------------+---+
où la fonction accepte la largeur souhaitée de la nouvelle fenêtre E
et se rétrécit la largeur de A
, B
, C
, et en D
conséquence. Edit2 : Notez que les deux dessins ci-dessus sont des exemples du comportement attendu pour un cas concret. Je cherche une fonction générale qui le fait indépendamment de la configuration dans la colonne from (c'est-à-dire que le nombre de fenêtres [splits] dans la colonne from devrait être arbitraire).
Je recherche également cette fonctionnalité sur le côté gauche et en haut et en bas d'un cadre.
Edit: À partir du commentaire de @ Nsukami_, j'ai réalisé que la fonctionnalité que je recherche est un cas particulier d'un problème plus abstrait. Je vais donc formuler ce problème:
Comment stockez-vous une configuration de fenêtre (composée d'un certain nombre de fenêtres et de tampons) et "collez" la configuration stockée dans une fenêtre existante?
La "pâte" devrait alors conserver les tailles de fenêtre relatives et le fractionnement; naturellement, la configuration collée résultante est une copie à l'échelle.
A
, B
, C
et D
), puis insérer cette disposition dans une nouvelle fenêtre? Ensuite, mon problème pourrait être résolu en 1) stockant la configuration de la fenêtre actuelle, 2) en changeant la disposition pour afficher une seule fenêtre qui est ensuite divisée horizontalement [formant essentiellement la fenêtre pour E
et la fenêtre d'espace réservé pour les autres, appelons-la Z
], 3 ) enfin insertion de la mise en page d'origine dans la fenêtre de gauche ( Z
)
split-window-right
asC-u -width C-x 3
. Changez lewidth
en ce que vous voulez et notez le signe négatif.