Ist es möglich, die Statusleiste für EINE bestimmte Tmux-Sitzung auszublenden (aber nicht für die anderen)?

Ist es möglich, die Statusleiste für EINE bestimmte Tmux-Sitzung auszublenden (aber nicht für die anderen)?

Ich verwende ein paar billige Fire-Tablets, die ich noch übrig habe, + SSH + Tmux, um stets eine aktuelle visuelle Ansicht meines Taskwarrior- und Timewarrior-Status zu haben.

es funktioniert super!

aber aufgrund der begrenzten Bildschirmfläche auf einigen dieser Geräte der unteren Preisklasse möchte ich die Statusleiste lieber nicht anzeigen ...

ich weiß, dass ich die Statusleiste für ALLE Tmux-Sitzungen ausblenden kann, aber wenn ich Tmux auf meinem Desktop/Laptop verwende, möchte ich sie auf jeden Fall sichtbar haben. Gibt es eine Möglichkeit, die Statusleiste für alle Fenster in einer bestimmten Sitzung auszuschalten?

vielen Dank!

in diesem Fall tmux auf OS X ausführen, falls das wichtig ist.

Antwort1

Der Tmux-Befehl set status off(oder von einer Shell: tmux set status off) schaltet die Statuszeile für eine einzelne Sitzung aus.

Ich vermute, Sie haben die Terminologie verwechselt. In Ihrem Workflow verwenden Sie wahrscheinlich zwei oder mehrKundenangehängt andas gleicheSitzung. Mir ist keine Methode bekannt, die Statuszeile für einen bestimmten Client auszuschalten. Ich glaube, Sie brauchen mehr als eine Sitzung.

(Hinweis: Wenn in dieser Antwort ein Befehl angegeben wird, der mit beginnt tmux, handelt es sich um einen Befehl, der in einer Shell ausgeführt werden soll. Ein Befehl, der nicht mit beginnt, tmuxist ein Befehl, der in tmux ausgeführt werden soll (nach prefix:oder von einer Tastenkombination aus). Normalerweise können Sie eine Form in die andere umwandeln (oder umgekehrt), indem Sie das Wort entfernen (oder voranstellen) tmux.)

Es gibt mindestens zwei Möglichkeiten, dasselbe Fenster in einer anderen Sitzung zu erhalten:

  1. Sie können ein oder mehrere Fenster für mehrere Sitzungen freigeben. Nehmen wir an, es gibt bereits eine Sitzung 0mit einem Fenster 0:0. Anstatt die Sitzung 0mit einem anderen Client zu verbinden ( tmux attach), erstellen Sie eine neue Sitzung ( tmux new-sessionoder tmux newkurz gesagt). Nehmen wir an, die neue Sitzung ist 1. Dann können Sie link-windowdas alte Fenster zur neuen Sitzung hinzufügen:

    tmux link-window -s 0:0 -t 1:
    

    Ein ergänzender Befehl ist unlink-window. Andere Fenster können in jeder Sitzung unabhängig voneinander erstellt, verknüpft oder deren Verknüpfung aufgehoben werden.

  2. Sie können eine neue Sitzung in derselben Sitzungsgruppe erstellen. Anstatt sich 0mit einem anderen Client an die Sitzung anzuschließen ( tmux attach), erstellen Sie eine neue Sitzung wie folgt:

    tmux new -t 0:
    

    Die neue Sitzung wird mit 0-1oder ähnlich gekennzeichnet. Sitzungen in derselben Gruppe teilen sich denselben Fenstersatz. Neue Fenster werden mit allen Sitzungen in der Gruppe verknüpft und alle geschlossenen Fenster werden aus allen Sitzungen entfernt.

Bitte vergleichen Siedies ist eine weitere Antwort von mirgepostet unter einer Frage einer Person, die so etwas versehentlich getan hat.

So oder so haben Sie jetztzweiSitzungen, die mindestens ein Fenster gemeinsam nutzen. Sie können set status offoder set status onfür jede Sitzung unabhängig voneinander verwenden. Wenn Sie dies von einer Shell aus innerhalb eines gemeinsam genutzten Fensters tun, kann dies die falsche Sitzung ansprechen. Geben Sie daher entweder explizit die Sitzung an, die Sie beeinflussen möchten:

tmux set -t 0-1: status off

oder tun Sie dies nicht über eine Shell, sondern direkt in tmux:

prefix:Status ausschaltenEnter

Möglicherweise benötigen Sie nur zwei Sitzungen: eine mit Statuszeile und eine ohne. Denken Sie daran, dass Sie sie benennen können (von Anfang an mit new-session -s …oder später mit rename-session). So statt 0:, 1:oder 0-1:Sie können aussagekräftigere benutzerdefinierte Namen verwenden, z. B. w(wie Krieger: Task- und Timewarrior) und w-noline.

verwandte Informationen