From 54f47a4015d2c0425521ba94fcafd61569d2f6f0 Mon Sep 17 00:00:00 2001 From: Bruno Sutic Date: Fri, 29 Aug 2014 00:41:13 +0200 Subject: [PATCH] Properly restore pane with `top` program Fixes #17 --- CHANGELOG.md | 2 ++ scripts/session_restorer.sh | 2 ++ scripts/session_saver.sh | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 439d247..9a38bb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog ### master +- bugfix: when top is running the pane `$PWD` can't be saved. This was causing + issues during the restore and is now fixed. ### v0.2.0, 2014-08-29 - bugfix: with vim 'session' strategy, if the session file does not exist - make diff --git a/scripts/session_restorer.sh b/scripts/session_restorer.sh index e58b081..bf7a4ca 100755 --- a/scripts/session_restorer.sh +++ b/scripts/session_restorer.sh @@ -75,6 +75,7 @@ restore_pane() { local pane="$1" echo "$pane" | while IFS=$'\t' read line_type session_name window_number window_name window_active window_flags pane_index dir pane_active pane_command pane_full_command; do + dir="$(remove_first_char "$dir")" window_name="$(remove_first_char "$window_name")" pane_full_command="$(remove_first_char "$pane_full_command")" if window_exists "$session_name" "$window_number"; then @@ -109,6 +110,7 @@ restore_all_pane_processes() { local pane_full_command awk 'BEGIN { FS="\t"; OFS="\t" } /^pane/ && $11 !~ "^:$" { print $2, $3, $7, $8, $11; }' $(last_session_path) | while IFS=$'\t' read session_name window_number pane_index dir pane_full_command; do + dir="$(remove_first_char "$dir")" pane_full_command="$(remove_first_char "$pane_full_command")" restore_pane_process "$pane_full_command" "$session_name" "$window_number" "$pane_index" "$dir" done diff --git a/scripts/session_saver.sh b/scripts/session_saver.sh index 68654e0..5bb06a7 100755 --- a/scripts/session_saver.sh +++ b/scripts/session_saver.sh @@ -21,7 +21,7 @@ pane_format() { format+="${delimiter}" format+="#{pane_index}" format+="${delimiter}" - format+="#{pane_current_path}" + format+=":#{pane_current_path}" format+="${delimiter}" format+="#{pane_active}" format+="${delimiter}"