En uge siden blev der offentliggjort en stor opdatering af terminalmultiplexeren tmux under nummer 3.5, hvortil den vigtigste ændring var en forbedret implementering af udvidede taster (extended keys). Den 5. oktober præsenterede udviklerne en bugfix-udgave 3.5a.
Tmux — et gratis program, der muliggør styring af flere konsol-sessioner fra en enkelt virtuel terminal. Det tillader at opdele skærmpladsen i terminalemulatoren vertikalt eller horisontalt i "planer" (pane), hvor hver indeholder en separat shell-session, og at gruppere disse "planer" i "vinduer" (window). Styringen af "vinduer" og "planer" sker via tastaturkombinationer, og der er også valgfri musunderstøttelse. Derudover implementerer Tmux scrolling inden for konsoloutput og en indbygget udklipsholder. Tmux's funktioner kan udvides ved at installere plugins.
Programmet er udgivet under ISC License og distribueres på GitHub. Tmux er inkluderet i den minimale levering OpenBSD, og installation er mulig på mange Unix-lignende systemer.
Ændringer i Tmux 3.5
- For fuld kompatibilitet med xterm i mode 2 og mode 1 er understøttelsen af udvidede taster blevet revideret. Nu vil tmux altid anmode om mode 2 fra den overordnede terminal. Dette gør det muligt at overgå til en entydig intern repræsentation af tasterne. En mulighed for extended-keys-format er tilføjet for at kontrollere tasternes repræsentationsformat, ligesom ressourcen formatOtherKeys i xterm.
- Overlejren (pop-up vinduet eller menuen) vil blive ryddet, når kommandolinjen åbnes.
- Der er tilføjet en copy-mode -d flag for at rulle en side ned, mens man allerede er i kopieringsmodus (matcher -e).
- Hyperlinks vil blive vist i kopieringsmodus. En format copy_cursor_hyperlink er tilføjet for at få hyperlinkets mål under markøren.
- Der er tilføjet en mulighed for ventetiden for præfikset (tastaturkombinationen, som indtastningen af tmux-kommandoer starter med).
- Kombinationer med musebevægelser er deaktiveret. De vil blive ignoreret for at undgå at gå ud af præfikset.
- Der er tilføjet formater search_count og search_count_partial i kopieringsmodus.
- Musens fokus vil ikke flytte sig, når der klikkes på statuslinjen.
- Der er tilføjet spejlede versioner af layoutene main-horizontal og main-vertical, hvor hovedpanelet er placeret nederst eller til højre i stedet for øverst eller til venstre.
- Arbejdet med REP tillades med Unicode-tegn.
- Beregningsfejl for slutningen af escape-sekvenser i udklipsholderen er rettet.
- CRLF vil blive behandlet som LF i konfigurationsfiler, når det er muligt.
- Arbejdsomgivelser er tilføjet for fejl i Linux-konsollen, der opstår ved brug af lyse farver.
- Miljøvariabler, der bruges af systemd, fjernes ved kompilering.
- Logikken til at fjerne den sidste buffer er justeret for bedre at bevare det markerede område: hvis et element under det fjernede ikke kan vælges (f.eks. hvis markeringen inkluderede slutningen af output), vælges elementet ovenfor.
- Muligheden —enable-jemalloc er tilføjet til kompileringen med jemalloc hukommelsesallokatoren, på grund af begrænsningerne ved glibc malloc.
- Til kunder er der tilføjet en metode (refresh-client -r) til at få OSC 10 og 11 forespørgsler, så kunder kan indstille for- og baggrundsfarver.
- Muligheden for at søge baglæns med N i trætilstand er tilføjet.
- default-shell vil blive brugt til kommandolinjen, #() og pop op-vinduer (se noterne til version 3.5a).
- De dele af ændringerne, der skulle sikre, at allerede viste linjer blev sprunget over under søgningen for at øge ydeevnen, men som desuden sprang slutningen af linjer over, er blevet annulleret.
- Et hook for command-error er tilføjet for krævede fejlsituationskommandoer.
- Muligheden allow-set-title er blevet tilføjet, som forbyder applikationer at ændre panelets titel.
- Musens adfærd ved cursorbevægelse er blevet rettet: ignorere kun den sidst nedsatte knap og altid behandle dobbeltklik.
- Nedbruddet ved flytning af fokus til et lukket panel er rettet.
- Ved søgning efter den næste session, når detach-on-destroy er aktiveret, vælges den sidst oprettede session.
- Standard timeout er reduceret til 10 millisekunder.
- Kommandoen display-menu -M er tilføjet, som altid tvinger musen til at være aktiv i menuen.
- I enhedens attributter vil der blive søgt efter feature code 21 for DECSLRM og 28 for DECFRA. Niveau 1 er aktiveret.
- Nedbruddet, hvis programmet er samlet med SIXEL-understøttelse og den SIXEL-farve registreret er forkert, er rettet. SIXEL-billeder vil blive fjernet før omformatering.
- Notifikationen window-layout-changed sendes ikke, hvis vinduet skal lukkes snart.
- Når det markerede område er tomt, vil markeringen blive betragtet som ikke-eksisterende med hensyn til variable formater selection_active og selection_present.
- Adfærdsændringen split-window -p er rettet.
Ændringer i Tmux 3.5a
- Farven grey er tilbageført.
- Brugen af /bin/sh til #(), run-shell og if-shell er tilbageført. Popup-vinduer vil fortsætte med at bruge default-shell.
- Rettede kombinationer, der inkluderer Shift-tasterne og C-BSpace, når udvidede taster er aktiveret.
Når du opgraderer, skal du være opmærksom på, at 3.5 ændrer repræsentationen af taster, så taster, der tidligere blev anset for at være ækvivalente, nu vil opføre sig forskelligt., for eksempel:
- C-A og C-a, C-B og C-b osv.;
- C-i og Tab;
- C-m og Enter;
- C-@ og C-Space;
- C-Enter og Enter;
- C-BTab og C-S-Tab.
Alle bindinger med disse taster skal ændres i .tmux.conf ved opgradering til 3.5a.
Kilde: linux.org.ru
