From 6be2f34b5f06c8a6a23dc3dc835e69c132d58a18 Mon Sep 17 00:00:00 2001 From: Bruno Sutic Date: Mon, 30 Aug 2021 14:09:17 +0200 Subject: [PATCH] automatic-rename: changelog and comments --- CHANGELOG.md | 1 + scripts/restore.sh | 6 +++++- scripts/save.sh | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7561230..0e5736c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog ### master +- Proper handling of `automatic-rename` window option. ### v3.0.0, 2021-08-30 - save and restore tmux pane contents (@laomaiweng) diff --git a/scripts/restore.sh b/scripts/restore.sh index 45a5a80..47907bc 100755 --- a/scripts/restore.sh +++ b/scripts/restore.sh @@ -289,9 +289,13 @@ restore_window_properties() { local window_name \grep '^window' $(last_resurrect_file) | while IFS=$d read line_type session_name window_number window_name window_active window_flags window_layout automatic_rename; do + tmux select-layout -t "${session_name}:${window_number}" "$window_layout" + + # Below steps are properly handling window names and automatic-rename + # option. `rename-window` is an extra command in some scenarios, but we + # opted for always doing it to keep the code simple. window_name="$(remove_first_char "$window_name")" tmux rename-window -t "${session_name}:${window_number}" "$window_name" - tmux select-layout -t "${session_name}:${window_number}" "$window_layout" if [ "${automatic_rename}" = ":" ]; then tmux set-option -u -t "${session_name}:${window_number}" automatic-rename else diff --git a/scripts/save.sh b/scripts/save.sh index 2c672f4..ff424b9 100755 --- a/scripts/save.sh +++ b/scripts/save.sh @@ -246,7 +246,7 @@ dump_windows() { continue fi automatic_rename="$(tmux show-window-options -vt "${session_name}:${window_index}" automatic-rename)" - # If the option was unset, place the ":" placeholder instead. + # If the option was unset, use ":" as a placeholder. [ -z "${automatic_rename}" ] && automatic_rename=":" echo "${line_type}${d}${session_name}${d}${window_index}${d}${window_name}${d}${window_active}${d}${window_flags}${d}${window_layout}${d}${automatic_rename}" done