aboutsummaryrefslogtreecommitdiff
path: root/scripts/window_renum
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/window_renum')
-rwxr-xr-xscripts/window_renum23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/window_renum b/scripts/window_renum
new file mode 100755
index 0000000..ef0a87f
--- /dev/null
+++ b/scripts/window_renum
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+# vim: set filetype=sh
+#
+# Author: Unknown
+# Date: 2016-11-09
+#
+# Description: Renumber tmux windows (1, 3, 4, 6) -> (1, 2, 3, 4)
+
+for session in $(tmux ls | awk -F: '{print $1}') ; do
+ active_window=$(tmux lsw -t ${session} | awk -F: '/\(active\)$/ {print $1}')
+ inum=1
+ for window in $(tmux lsw -t ${session} | awk -F: '{print $1}') ;do
+ if [ ${window} -gt ${inum} ] ;then
+ echo "${session}:${window} -> ${session}:${inum}"
+ tmux movew -d -s ${session}:${window} -t ${session}:${inum}
+ fi
+ if [ ${window} = ${active_window} ] ;then
+ new_active_window=${inum}
+ fi
+ inum=$((${inum}+1))
+ done
+ tmux select-window -t ${session}:${new_active_window}
+done