Pular para o conteúdo
Tmux 3.7 traz painéis flutuantes, melhorias de copy mode e suporte a Wayland

Tmux 3.7 traz painéis flutuantes, melhorias de copy mode e suporte a Wayland

Descubra as novidades do tmux 3.7: painéis flutuantes, novas opções de copy mode, suporte a Wayland e correções de segurança.

A versão tmux 3.7 chega com recursos inéditos e uma série de aprimoramentos de usabilidade, segurança e compatibilidade. Entre as mudanças mais impactantes estão os painéis flutuantes, novas opções de numeração no modo de cópia, suporte ao display Wayland e várias correções que beneficiam usuários de diferentes plataformas.

Painéis flutuantes

  • Painéis que “flutuam” sobre o layout tradicional são criados com o comando new-pane (tecla padrão *).
  • Não são modais, comportam‑se como painéis comuns e suportam as mesmas sequências de escape.
  • Nesta fase inicial, o movimento e o redimensionamento são feitos apenas com o mouse.
  • A segunda linha de status (quando status-format está em 2) passa a exibir a lista de painéis, facilitando a visualização.

Desenvolvido principalmente por Michael Grant, com suporte de Dane Jensen e testes da comunidade.

Expansão de argumentos em run-shell

Argumentos após um comando de shell podem ser referenciados como #{1}, #{2} etc., ampliando a flexibilidade dos scripts.

Controle avançado de sessões

  • A opção -g em kill-session permite encerrar todas as sessões de um grupo, simplificando a administração de ambientes múltiplos.
  • Verificações de read‑only foram reforçadas em attach-session, detach-client e switch-client, garantindo que cada cliente só possa desconectar a si próprio.

Melhorias no tratamento de colagem (paste)

  • Atraso de escape aumentado quando o buffer contém um final de colagem parcial, corrigindo problemas no Windows Terminal.
  • Limite de 5 segundos para colagens em terminais que perdem a sequência final (ex.: Terminal.app).
  • Desativação da detecção automática de colagem quando o terminal já suporta bracket paste.
  • Sanitização de nomes de buffers de colagem e remoção de caracteres invisíveis em títulos de painéis, janelas e sessões.

Modo de cópia (copy mode) aprimorado

  • Numeração de linhas agora pode ser configurada via copy-mode-line-numbers com opções: off, default, absolute, relative e hybrid.
  • Estilos personalizáveis através de copy-mode-line-number-style e copy-mode-current-line-number-style.
  • Comando emacs‑style recentre-top-bottom adicionado.
  • Novo comando selection_mode permite definir explicitamente o modo de seleção.
  • Suporte a números de linha também inclui variáveis de formato para exibição em status e mensagens.

Integração com Wayland e variáveis de ambiente

  • WAYLAND_DISPLAY foi incluído nas variáveis padrão de update-environment, juntamente com variáveis adicionais do padrão XDG.

Novas opções de mouse e interface

  • Faixas de mouse “control0” a “control9” permitem controles avançados na linha de status do painel.
  • Opção focus-follows-mouse foi adicionada, facilitando a navegação em ambientes que adotam esse comportamento.
  • O pane-border-indicators agora desenha indicadores corretos quando configurado como both.

Correções de bugs e segurança

  • Evita hang de clientes de controle ao sair após alternar no-output.
  • Impede overflow ao redimensionar a barra de rolagem fora da tela.
  • Corrige race condition entre fork e pane_current_path.
  • Limita o argumento MSG_COMMAND entre 0 e 1000, prevenindo crashes provocados por clientes mal‑formados.
  • Diversas correções de vazamento de memória identificadas pelo OSS‑Fuzz.

Atualizações de renderização e suporte a imagens

  • A contagem máxima de imagens SIXEL foi aumentada para 20.
  • Correções no cálculo de tamanho escalado de imagens SIXEL e suporte a novos tons de pele.
  • Melhor tratamento de caracteres Unicode combinados e indicadores regionais/emoji.

Personalização de mensagens e prompts

  • Novo formato message-format permite que mensagens e prompts ocupem apenas parte da barra de status, sobrepondo o conteúdo normal.
  • message-style agora requer a inclusão de fill para cobrir toda a largura.
  • Flag -C em command-prompt alinha seu comportamento ao de display-message -C, impedindo que painéis sejam congelados.

Outras melhorias relevantes

  • clock visível em terminais sem cores.
  • Opção remain-on-exit mantém o painel ativo até que uma tecla seja pressionada.
  • detach adicionado ao menu padrão de sessão.
  • clipboard pode ser encaminhado ao terminal externo, e a sequência OSC 52 funciona dentro de popups.
  • Suporte a synchronized output mode (DECSET 2026) para evitar “screen tearing” em atualizações rápidas.

Histórico resumido das versões anteriores

  • 3.6b → 3.7: introdução dos painéis flutuantes, novas opções de copy mode, suporte a Wayland e correções críticas.
  • 3.6 → 3.6a: correções de overflow em formatação, ajustes de drag em tela alternativa e melhorias de mouse.
  • 3.5a → 3.6: inclusão de opções de segundos no relógio, callbacks de redimensionamento para menus e suporte avançado a emojis.

Com essas mudanças, o tmux 3.7 reforça seu papel como o multiplexador de terminal mais flexível e adaptável, atendendo tanto a usuários avançados quanto a ambientes corporativos que demandam estabilidade e recursos modernos. Para atualizar, consulte a documentação oficial e o changelog completo no repositório do projeto.

Via raw.githubusercontent.com. Você pode conferir o post original em inglês:

CHANGES FROM 3.6b TO 3.7

Por · Última atualização: