diff --git a/.bin/Scripts/ddrescue-tui-menu b/.bin/Scripts/ddrescue-tui-menu index f65e24e1..eab8cd3f 100755 --- a/.bin/Scripts/ddrescue-tui-menu +++ b/.bin/Scripts/ddrescue-tui-menu @@ -45,6 +45,7 @@ if __name__ == '__main__': # Done print_standard('\nDone.') pause("Press Enter to exit...") + tmux_switch_client() exit_script() except GenericAbort: abort() @@ -55,6 +56,7 @@ if __name__ == '__main__': print_error(msg) abort() except SystemExit as sys_exit: + tmux_switch_client() exit_script(sys_exit.code) except: major_exception() diff --git a/.bin/Scripts/functions/tmux.py b/.bin/Scripts/functions/tmux.py index 81522268..8c6ad327 100644 --- a/.bin/Scripts/functions/tmux.py +++ b/.bin/Scripts/functions/tmux.py @@ -141,6 +141,18 @@ def tmux_split_window( return result.stdout.decode().strip() +def tmux_switch_client(target_session=None): + """Switch to target tmux session, or previous if none specified.""" + cmd = ['tmux', 'switch-client'] + if target_session: + cmd.extend(['-t', target_session]) + else: + # Switch to previous instead + cmd.append('-p') + + run_program(cmd, check=False) + + def tmux_update_pane( pane_id, command=None, working_dir=None, text=None, watch=None, watch_cmd='cat'): diff --git a/.bin/Scripts/hw-diags-menu b/.bin/Scripts/hw-diags-menu index fc95e04a..7a122ae7 100755 --- a/.bin/Scripts/hw-diags-menu +++ b/.bin/Scripts/hw-diags-menu @@ -23,6 +23,7 @@ if __name__ == '__main__': sleep(1) pause('Press Enter to exit...') except SystemExit as sys_exit: + tmux_switch_client() exit_script(sys_exit.code) except: # Cleanup @@ -59,6 +60,7 @@ if __name__ == '__main__': # Done tmux_kill_all_panes() + tmux_switch_client() exit_script() # vim: sts=2 sw=2 ts=2