Wie kann TMux dazu gebracht werden, nur Fenster anzuzeigen, wenn der Auswahlbaum verwendet wird?

9

Ich habe kürzlich die neueste Version von TMux installiert und als ich versuchte, zwischen meinen Fenstern zu wechseln (Steuerelement-a w oder Auswahlbaum), wurde ich mit 3 Einträgen anstelle von 2 begrüßt. Anstatt nur mein Windows anzuzeigen, besteht TMux jetzt darauf, ein anzuzeigen zusätzlicher Sitzungseintrag, der meine Fenster enthält.

Etwas, das ich wirklich nicht brauche, weil ich nur eine Sitzung auf meinen Servern verwende. Und 3 Einträge zu sehen, während ich nur 2 Fenster habe, ist für mich äußerst kontraproduktiv. Ich fand die Filteroptionen und versuchte schließlich "# {==: # {window_index},> 1}", was funktionierte. Jedoch...

Leider scheint die Filteroption nicht den gesamten Bildschirm zu filtern, sondern nur die Einträge innerhalb des Sitzungseintrags. Während es die Sitzungseintragszeile ist, möchte ich loswerden.

Fazit: Ich möchte, dass sich TMux so verhält, wie es immer war, also sollte es mir meine Fenstereinträge und sonst nichts zeigen.

Danke im Voraus.

ShelLuser
quelle
select-tree ist nicht der gewünschte Befehl. Wahlfenster ist Ihre Wahl.
Tagwint
2
Falsch. Zuerst; Das Auswahlfenster wird in der Handbuchseite nicht erwähnt. Es scheint ein interner Alias ​​für den Auswahlbaum zu sein, da er sich genauso verhält.
ShelLuser
Könnten Sie Ihre tmux-Version angeben?
Tagwint
Bereits (etwas): neueste Version, auch bekannt als 2.6.
ShelLuser
Das muss der Unterschied sein. Meins ist tmux 2.5, das neueste für meine Distribution. Es hat ein Auswahlfenster in Manpages, das an pfx + w gebunden ist, im Gegensatz zu einem an pfx-s gebundenen Auswahlbaum. Letzteres verhält sich wie von Ihnen beschrieben, das erste jedoch so, wie Sie es möchten.
Tagwint

Antworten:

7

Dies funktioniert für mich in tmux 2.6.1 unter Verwendung von Termite und dem virtuellen Standard-Linux-Terminal. Stellen Sie sicher, dass Sie über die neueste Version von tmux verfügen. Versuchen Sie auch, tmux vollständig neu zu starten, da Änderungen nach dem erneuten Laden der Konfiguration nicht immer zutreffen.

Wählen Sie nur Sitzungen

bind-key -r -T prefix s choose-session

bind-key -r -T Präfix s Auswahlsitzung

Wählen Sie in der aktuellen Sitzung nur Fenster aus

bind-key -r -T prefix w run-shell 'tmux choose-tree -Nwf"##{==:##{session_name},#{session_name}}"'

Geben Sie hier die Bildbeschreibung ein

Wählen Sie sowohl Sitzung als auch Fenster

bind-key -r -T prefix S choose-window

Geben Sie hier die Bildbeschreibung ein

Zypps987
quelle
Beides löst das Problem nicht, da die Sitzungsleiste weiterhin angezeigt wird, obwohl Sie nur Fenster in der aktuellen Sitzung auswählen können. Sie haben noch 3 Zeilen mit nur 2 geöffneten Fenstern. Und das versuche ich loszuwerden.
ShelLuser
Danke dafür! Ich möchte auch nicht, dass der Sitzungsname angezeigt wird, aber die Beschränkung von Windows auf die aktuelle Sitzung ist für meinen Anwendungsfall viel besser als die Standardeinstellung.
Henrik N
@ShelLuser Ich glaube nicht, dass es einen Weg gibt, das zu tun. Laut Dokumentation ab tmux 2.6 können Filter nicht zusammen verschachtelt werden. Sie müssen sich nur damit zufrieden geben, dass der Sitzungsname + die Fenster der Sitzung anzeigt.
Zypps987
Ich entferne dies erneut, da die Aufwärts- / Abwärtspfeiltasten in der Liste der Fenster nicht gut zu funktionieren scheinen. Die meiste Zeit drücke ich eine Pfeiltaste und nichts passiert.
Henrik N
@HenrikN Stellen Sie sicher, dass in Ihrer tmux-Konfiguration xterm-keys aktiviert sind.
Zypps987
1

Dies ist eine alte Frage, aber wenn sie immer noch relevant ist: Die Vorschau in :choose-tree(dh Cs oder Cw in neueren Versionen) kann umgeschaltet werden v.

Ich bin kein Schlüsselbindungsguru, aber ich bin mir sicher, dass es eine Möglichkeit gibt, sich neu zu binden - das vGoogle beim Start an den Auswahlbaum zu übergeben.

Siehe: https://github.com/tmux/tmux/issues/1114#issuecomment-336055045

Refs: OpenBSD Tmux Ref Tmux FAQ

Chris
quelle
0

Das funktioniert bei mir.

https://github.com/tmux/tmux/issues/1115

bind-key -r -T prefix w run-shell 'tmux choose-tree -Nwf"##{==:##{session_name},#{session_name}}"'
Zypps987
quelle
Vielen Dank, aber alles, was Sie tun müssen, ist den Fokus auf das aktuelle Fenster zu legen, aber die erste Sitzungszeile wird nicht entfernt. Wenn Sie also nur TMux starten und 1 aktives Fenster haben, sehen Sie immer noch 2 Einträge in der Fensterauswahl ('Baum auswählen').
ShelLuser