Sie können Ihre eigenen Bindungen bereitstellen, die aus Befehlen bestehen, die durch verknüpft sind \;
. Zum Beispiel in Ihrem ~/.tmux.conf
hinzufügen
bind-key '"' split-window \; select-layout -n \; select-layout -p
Dadurch wird Ctrl-b "das Fenster geteilt, und das Layout wird auf das nächste Layout und dann wieder auf das vorherige Layout geändert. Sie müssten dies für andere Befehle tun, die Fenster hinzufügen oder entfernen.
Wenn Sie mehr automatische Steuerung wünschen, können Sie einen Hintergrundprozess für den tmux-Steuerungsmodus schreiben, um einen echten tmux-Prozess anzuhören. Es erhält Benachrichtigungen über alles, was im echten tmux passiert, und Sie können dann select-layout
Befehle senden , wenn Sie eine Benachrichtigung über ein neues Fenster oder ein gelöschtes Fenster sehen. Ich habe nicht viel damit experimentiert, aber wenn Sie 2 Terminals verwenden und eine normale Sitzung in einem ausführen
tmux new -s mysession
und in der anderen
tmux -C attach -t mysession
Wenn Sie dann Fenster teilen, neue hinzufügen oder sie im normalen tmux schließen, erhalten Sie Linien wie
%layout-change @2 91a8,80x23,0,0[80x11,0,0,5,80x11,0,12,7]
%window-add @3
%window-close @1
in der steuerung tmux. Wenn Sie diese sehen, können Sie select-layout -n
im Steuermodus schreiben , was sich auf den ersten auswirkt. Es gibt eine Python-Bibliothek , die diesen Mechanismus verwendet, auf den ich nicht weiter eingegangen bin.
even-vertical
? Ich möchte das aktuell verwendete Layout beibehalten.