mirror of
				https://github.com/tmux-plugins/tmux-resurrect.git
				synced 2025-11-04 00:46:04 +00:00 
			
		
		
		
	Fixes for cmdline save/restore strategy
This commit is contained in:
		@@ -13,7 +13,7 @@ exit_safely_if_empty_ppid() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
full_command() {
 | 
					full_command() {
 | 
				
			||||||
	[[ -z "$CPID" ]] && exit 0
 | 
						[[ -z "$CPID" ]] && exit 0
 | 
				
			||||||
	base64 /proc/${CPID}/cmdline
 | 
						cat /proc/${CPID}/cmdline | perl -ne 'print join(" ", map quotemeta, split(/\000/))' | base64 -w0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
main() {
 | 
					main() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -293,13 +293,14 @@ restore_shell_history() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
restore_all_pane_processes() {
 | 
					restore_all_pane_processes() {
 | 
				
			||||||
	if restore_pane_processes_enabled; then
 | 
						if restore_pane_processes_enabled; then
 | 
				
			||||||
 | 
							local save_command_strategy="$(get_tmux_option "$save_command_strategy_option" "$default_save_command_strategy")"
 | 
				
			||||||
		local pane_full_command
 | 
							local pane_full_command
 | 
				
			||||||
		awk 'BEGIN { FS="\t"; OFS="\t" } /^pane/ && $11 !~ "^:$" { print $2, $3, $7, $8, $11; }' $(last_resurrect_file) |
 | 
							awk 'BEGIN { FS="\t"; OFS="\t" } /^pane/ && $11 !~ "^:$" { print $2, $3, $7, $8, $11; }' $(last_resurrect_file) |
 | 
				
			||||||
			while IFS=$d read session_name window_number pane_index dir pane_full_command; do
 | 
								while IFS=$d read session_name window_number pane_index dir pane_full_command; do
 | 
				
			||||||
				dir="$(remove_first_char "$dir")"
 | 
									dir="$(remove_first_char "$dir")"
 | 
				
			||||||
				pane_full_command="$(remove_first_char "$pane_full_command")"
 | 
									pane_full_command="$(remove_first_char "$pane_full_command")"
 | 
				
			||||||
				if base64 -d <<< $pane_full_command >/dev/null 2>&1; then
 | 
									if [ $save_command_strategy = "cmdline" ]; then
 | 
				
			||||||
					pane_full_command=$(base64 -d <<< $pane_full_command | perl -ne 'print join(" ", map quotemeta, split(/\000/)), "\n"')
 | 
										pane_full_command=$(base64 -d <<< $pane_full_command)
 | 
				
			||||||
				fi
 | 
									fi
 | 
				
			||||||
				restore_pane_process "$pane_full_command" "$session_name" "$window_number" "$pane_index" "$dir"
 | 
									restore_pane_process "$pane_full_command" "$session_name" "$window_number" "$pane_index" "$dir"
 | 
				
			||||||
			done
 | 
								done
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user