¿Actualización de índices de ventanas con tmux?

18

Usando tmux, cerré una ventana indexada 3, así que ahora tengo 1,2,4, ...

Prefiero tener Windows secuencial, entonces, ¿hay alguna manera de obligarlos a volver a indexar?

mahemoff
fuente

Respuestas:

29

tmux 1.7 incluye la renumber-windowsopción de sesión que mantiene una secuencia "sin espacios" para los números de ventana de una sesión. Puede configurar la opción "globalmente" para que se aplique a todas las sesiones que no hayan anulado el valor global. Por ejemplo en tu ~/.tmux.conf:

set-option -g renumber-windows on

Si no siempre desea que todas sus sesiones tengan números de ventana "sin espacios", puede usar move-window -r(la opción también es nueva en * tmux 1.7) para renumerar las ventanas solo en la sesión actual (o en alguna otra sesión si usa la opción -topción).

Chris Johnsen
fuente
gracias por esta opción, eso es exactamente lo que estaba buscando. tmux es increíble
Tropilio
3

No hay una manera integrada de hacerlo, pero este script bash debería funcionar. Ejecútelo desde dentro de la sesión:

i=0
tmux list-windows | cut -d: -f1 | while read winindex; do 
  if (( winindex != i )); then
    tmux move-window -d -s $winindex -t $i
  fi
  (( i++ ))
done

La -dbandera a move-windowevita enfocar esa ventana.

Thor
fuente
Eso funcionó, gracias. Tenía una ventana cero en realidad, así que necesitaba comenzar con i = 0.
mahemoff
2
Ah, olvidé que había set-option -g base-index 1entrado .tmux.conf.
Thor
Incluso con las nuevas características de tmux 1.7, esta implementación me pareció útil para evitar mover algunas ventanas.
dequis