Vor einer Woche wurde ein großes Update des Terminal-Multiplexers tmux veröffentlicht unter der Nummer 3.5, dessen Hauptänderung eine verbesserte Implementierung von erweiterten Tasten (extended keys). Am 5. Oktober präsentierten die Entwickler das Bugfix-Release 3.5a.
Tmux — ein freies Programm, das die Verwaltung mehrerer Konsolensitzungen von einem virtuellen Terminal aus ermöglicht. Es erlaubt, den Bildschirm des Terminalemulators vertikal oder horizontal in 'Pane' zu teilen, in denen jeweils eine separate Shell-Sitzung läuft, und diese 'Pane' in 'Fenster' (window) zu gruppieren. Die Verwaltung von 'Fenstern' und 'Pane' erfolgt über Tastenkombinationen, es gibt auch eine optionale Unterstützung für die Maus. Darüber hinaus implementiert Tmux das Scrollen innerhalb der Konsolenausgabe und bietet einen integrierten Zwischenspeicher. Die Möglichkeiten von Tmux werden durch die Installation von Plugins erweitert.
Das Programm wurde unter ISC License veröffentlicht und verteilt unter GitHub. Tmux ist in der Minimalversion von OpenBSD, und die Installation ist auf vielen Unix-ähnlichen Systemen möglich.
Änderungen in Tmux 3.5
- Um die volle Kompatibilität mit xterm in mode 2 und mode 1 zu gewährleisten, wurde die Unterstützung für erweiterte Tasten überarbeitet. Tmux wird jetzt immer mode 2 vom Elternterminal anfordern. Dies ermöglicht eine eindeutige interne Darstellung der Tasten. Eine Option extended-keys-format wurde hinzugefügt, um das Format der Tastenanzeige zu steuern, ähnlich der Ressource formatOtherKeys in xterm.
- Das Overlay (Popup oder Menü) wird beim Öffnen der Befehlszeile geleert.
- Ein Flag copy-mode -d wurde hinzugefügt, um im Kopiermodus eine Seite nach unten zu scrollen (entspricht -e).
- Hyperlinks werden im Kopiermodus angezeigt. Ein Format copy_cursor_hyperlink wurde hinzugefügt, um das Ziel des Hyperlinks unter dem Cursor abzurufen.
- Eine Option für die Zeitüberschreitung des Präfixes (Tastenkombination, mit der die Eingabe der Tmux-Befehle beginnt) wurde hinzugefügt.
- Die Kombinationen mit Mausbewegungstasten wurden deaktiviert. Sie werden ignoriert, um das Verlassen des Präfixes zu verhindern.
- Formate search_count und search_count_partial wurden dem Kopiermodus hinzugefügt.
- Der Mausfokus wird beim Klicken auf die Statuszeile nicht verschoben.
- Spiegelversionen der Layouts main-horizontal und main-vertical wurden hinzugefügt, bei denen das Hauptpaneel unten oder rechts und nicht oben oder links ist.
- Die Arbeit mit REP ist mit Unicode-Zeichen erlaubt.
- Die Berechnung des Endes von Escape-Sequenzen im Clipboard wurde korrigiert.
- CRLF wird, wo immer möglich, in den Konfigurationsdateien als LF behandelt.
- Workarounds für Bugs in der Linux-Konsole, die bei der Verwendung von hellen Farben auftreten, wurden hinzugefügt.
- Bei der Erstellung mit systemd werden die Umgebungsvariablen entfernt, die von ihm verwendet werden.
- Die Logik zum Entfernen des letzten Buffers wurde angepasst, um den Auswahlbereich besser beizubehalten: Wenn kein Element unter dem entfernten ausgewählt werden kann (z. B. wenn die Auswahl das Ende der Ausgabe umfasste), wird das Element darüber ausgewählt.
- Die Option —enable-jemalloc wurde für die Erstellung mit dem jemalloc-Speicherverwalter hinzugefügt, aufgrund der Einschränkungen von glibc malloc.
- Für Clients wurde die Methode (refresh-client -r) hinzugefügt, um OSC 10 und 11-Anfragen zu erhalten, damit die Clients Vorder- und Hintergrundfarben einstellen können.
- Die Rückwärtssuche mit der Taste N im Baumansichtsmodus wurde hinzugefügt.
- default-shell wird für die Kommandozeile, #() und Popups verwendet (siehe Release-Notes 3.5a).
- Die Teile der Änderungen, die dazu gedacht waren, bereits gesehene Zeilen während der Suche zur Steigerung der Leistung zu überspringen, wurden zurückgenommen, da sie darüber hinaus überhaupt Zeilenenden übersprangen.
- Ein command-error Hook für fehlgeschlagene Befehle wurde hinzugefügt.
- Die Option allow-set-title wurde hinzugefügt, um Anwendungen zu verbieten, den Titel der Leiste zu ändern.
- Das Verhalten der Maus beim Anheben des Zeigers wurde korrigiert: Nur die letzte gedrückte Taste wird ignoriert, und Doppelklicks werden immer behandelt.
- Der Absturz beim Verschieben des Fokus auf eine schließende Leiste wurde behoben.
- Beim Suchen nach der nächsten Sitzung wird beim Ausführen von detach-on-destroy die zuletzt erstellte Sitzung ausgewählt.
- Die Standardausstiegszeit wurde auf 10 Millisekunden gesenkt.
- Der Befehl display-menu -M wurde hinzugefügt, um die Maus im Menü immer zu aktivieren.
- In den Geräteeigenschaften wird nach dem Feature-Code 21 für DECSLRM und 28 für DECFRA gesucht. Level 1 ist erlaubt.
- Ein Absturz wurde behoben, wenn das Programm mit Unterstützung für SIXEL und ein fehlerhafter SIXEL-Farbspeicher kompiliert wurde. SIXEL-Bilder werden vor dem Neupositionieren entfernt.
- Die Benachrichtigung window-layout-changed wird nicht gesendet, wenn das Fenster in naher Zukunft geschlossen werden soll.
- Wenn der ausgewählte Bereich leer ist, wird die Auswahl aus Sicht der Variablen selection_active und selection_present als nicht vorhanden angesehen.
- Das Verhalten von split-window -p wurde korrigiert.
Änderungen in Tmux 3.5a
- Die Farbenbezeichnung grau wurde zurückgebracht.
- Die Nutzung von /bin/sh für #(), run-shell und if-shell wurde zurückgebracht. Pop-ups werden weiterhin default-shell verwenden.
- Korrekturen der Kombinationen, die die Tasten Shift und C-BSpace bei aktivierten erweiterten Tasten umfassen.
Bitte beachten Sie beim Update, dass 3.5 die Darstellung der Tasten ändert, d.h. Tasten, die zuvor als gleichwertig betrachtet wurden, verhalten sich jetzt unterschiedlich., zum Beispiel:
- C-A und C-a, C-B und C-b usw.;
- C-i und Tab;
- C-m und Enter;
- C-@ und C-Space;
- C-Enter und Enter;
- C-BTab und C-S-Tab.
Alle Bindungen, die diese Tasten nutzen, müssen in .tmux.conf bei der Aktualisierung auf 3.5a geändert werden.
Quelle: linux.org.ru
