Hace una semana se publicó una gran actualización del multiplexor de terminal tmux con el número 3.5, siendo la principal mejora la implementación mejorada de teclas extendidas (extended keys). El 5 de octubre, los desarrolladores presentaron una versión de corrección de errores 3.5a.
Tmux es un programa libre que permite gestionar múltiples sesiones de consola desde un solo terminal virtual. Permite dividir el espacio en pantalla del emulador de terminal vertical u horizontalmente en "paneles" (pane), cada uno de los cuales ejecuta una sesión de línea de comandos independiente, y agrupar estos "paneles" en "ventanas" (window). La gestión de las "ventanas" y "paneles" se realiza mediante combinaciones de teclas, y también hay soporte opcional para el ratón. Además, Tmux implementa el desplazamiento dentro de la salida de la consola y un portapapeles integrado. Las capacidades de Tmux se amplían mediante la instalación de complementos.
El programa se publica bajo la Licencia ISC y se distribuye en GitHub. Tmux está incluido en la distribución mínima de OpenBSD, y la instalación es posible en muchos sistemas similares a Unix.
Cambios en Tmux 3.5
- Para una plena compatibilidad con xterm en modo 2 y modo 1, se revisó el soporte de teclas extendidas. Ahora tmux siempre solicitará el modo 2 al terminal padre. Esto permite pasar a una representación interna de teclas inequívoca. Se añadió la opción extended-keys-format para controlar el formato de representación de teclas, similar al recurso formatOtherKeys en xterm.
- La superposición (ventana emergente o menú) se limpiará al abrir la línea de comandos.
- Se añadió la bandera copy-mode -d para desplazarse una página hacia abajo, ya estando en modo de copia (coincide con -e).
- Los hipervínculos se mostrarán en modo de copia. Se agregó el formato copy_cursor_hyperlink para obtener el destino del hipervínculo bajo el cursor.
- Se añadió una opción para el tiempo de espera del prefijo (combinación de teclas desde la que se inicia la entrada de comandos de tmux).
- Se deshabilitaron las combinaciones con las teclas de movimiento del ratón. Serán ignoradas para evitar salir del prefijo.
- Se añadieron formatos search_count y search_count_partial al modo de copia.
- El foco del ratón no se moverá al hacer clic en la barra de estado.
- Se añadieron versiones reflejadas de las distribuciones main-horizontal y main-vertical, donde el panel principal está en la parte inferior o derecha, y no en la parte superior o izquierda.
- Se permite el funcionamiento de REP con caracteres Unicode.
- Se corrigió el cálculo del final de las secuencias de escape del portapapeles.
- CRLF será tratado como LF en archivos de configuración, cuando sea posible.
- Se añadieron soluciones alternativas para errores en la consola de Linux que aparecen al usar colores brillantes.
- Al compilar con systemd, se eliminan las variables de entorno que utiliza.
- Se ajustó la lógica para eliminar el último buffer, para mejorar la conservación del área de selección: si no se puede seleccionar un elemento debajo del eliminado (por ejemplo, si la selección incluía el final de la salida), se selecciona el elemento de arriba.
- Se añadió la opción —enable-jemalloc para compilar con el distribuidor de memoria jemalloc, debido a las limitaciones de glibc malloc.
- Se añadió a los clientes una forma (refresh-client -r) de obtener solicitudes OSC 10 y 11, para que los clientes puedan establecer los colores de primer plano y fondo.
- Se añadió la búsqueda hacia atrás con la tecla N en modo de árbol.
- default-shell se utilizará para la línea de comandos, #() y ventanas emergentes (ver notas de la versión 3.5a).
- Se cancelaron las partes de los cambios que debían permitir omitir líneas ya vistas durante la búsqueda con el fin de aumentar el rendimiento, pero que además omitían finales de línea en general.
- Se añadió un gancho command-error para comandos que fallan.
- Se añadió la opción allow-set-title, que prohíbe a las aplicaciones cambiar el título de la ventana.
- Se corrigió el comportamiento del ratón al levantar el cursor: ignorar solo el último botón presionado, y siempre procesar el doble clic.
- Se corrigió un fallo al cambiar el foco a una ventana que se está cerrando.
- Durante la búsqueda de la siguiente sesión al ejecutar detach-on-destroy, se selecciona la última sesión creada.
- El tiempo de salida por defecto se redujo a 10 milisegundos.
- Se añadió el comando display-menu -M, que permite siempre habilitar el ratón en el menú.
- Se realizará la búsqueda del código de característica 21 para DECSLRM y 28 para DECFRA en los atributos del dispositivo. Se permitió el nivel 1.
- Se corrigió un fallo si el programa se compila con soporte para SIXEL y el registro de color SIXEL es incorrecto. Las imágenes SIXEL se eliminarán antes de realizar el reformatado.
- La notificación window-layout-changed no se envía si la ventana debe cerrarse pronto.
- Cuando el área seleccionada está vacía, la selección se considerará ausente en términos de las variables de formato selection_active y selection_present.
- Se ha corregido el comportamiento de split-window -p.
Cambios en Tmux 3.5a
- Se ha restaurado el nombre del color gris.
- Se ha restaurado el uso de /bin/sh para #(), run-shell e if-shell. Los pop-ups seguirán utilizando default-shell.
- Se han corregido las combinaciones que incluyen las teclas Shift y C-BSpace cuando las teclas extendidas están activadas.
Al actualizar, tenga en cuenta que la versión 3.5 cambia la representación de las teclas, es decir, las teclas que anteriormente se consideraban equivalentes ahora se comportarán de manera diferente., por ejemplo:
- C-A y C-a, C-B y C-b, etc.;
- C-i y Tab;
- C-m y Enter;
- C-@ y C-Space;
- C-Enter y Enter;
- C-BTab y C-S-Tab.
Todas las asignaciones que utilizan estas teclas deberán cambiarse en .tmux.conf al actualizar a la versión 3.5a.
Fuente: linux.org.ru
