mirror of
https://github.com/tmux-plugins/tmux-resurrect.git
synced 2024-11-22 04:18:48 +00:00
parent
655bdb9a75
commit
18f4d1099e
@ -2,6 +2,7 @@
|
||||
|
||||
### master
|
||||
- refactor checking if saved tmux session exists
|
||||
- spinner while tmux sessions are restored
|
||||
|
||||
### v0.0.5, 2014-08-28
|
||||
- restore pane processes
|
||||
|
@ -4,6 +4,7 @@ CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
source "$CURRENT_DIR/helpers.sh"
|
||||
source "$CURRENT_DIR/process_restore_helpers.sh"
|
||||
source "$CURRENT_DIR/spinner_helpers.sh"
|
||||
|
||||
is_line_type() {
|
||||
local line_type="$1"
|
||||
@ -150,6 +151,7 @@ restore_active_and_alternate_sessions() {
|
||||
|
||||
main() {
|
||||
if supported_tmux_version_ok && check_saved_session_exists; then
|
||||
start_spinner
|
||||
restore_all_sessions
|
||||
restore_all_pane_processes
|
||||
restore_pane_layout_for_each_window >/dev/null 2>&1
|
||||
@ -157,6 +159,7 @@ main() {
|
||||
restore_active_pane_for_each_window
|
||||
restore_active_and_alternate_windows
|
||||
restore_active_and_alternate_sessions
|
||||
stop_spinner
|
||||
display_message "Restored all Tmux sessions!"
|
||||
fi
|
||||
}
|
||||
|
8
scripts/spinner_helpers.sh
Normal file
8
scripts/spinner_helpers.sh
Normal file
@ -0,0 +1,8 @@
|
||||
start_spinner() {
|
||||
$CURRENT_DIR/tmux_spinner.sh "Restoring sessions..." "Restored all Tmux sessions!" &
|
||||
export SPINNER_PID=$!
|
||||
}
|
||||
|
||||
stop_spinner() {
|
||||
kill $SPINNER_PID
|
||||
}
|
29
scripts/tmux_spinner.sh
Executable file
29
scripts/tmux_spinner.sh
Executable file
@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# This script shows tmux spinner with a message. It is intended to be running
|
||||
# as a background process which should be `kill`ed at the end.
|
||||
#
|
||||
# Example usage:
|
||||
#
|
||||
# ./tmux_spinner.sh "Working..." "End message!" &
|
||||
# SPINNER_PID=$!
|
||||
# ..
|
||||
# .. execute commands here
|
||||
# ..
|
||||
# kill $SPINNER_PID # Stops spinner and displays 'End message!'
|
||||
|
||||
MESSAGE="$1"
|
||||
END_MESSAGE="$2"
|
||||
SPIN='-\|/'
|
||||
|
||||
trap "tmux display-message $END_MESSAGE; exit" SIGINT SIGTERM
|
||||
|
||||
main() {
|
||||
local i=0
|
||||
while true; do
|
||||
i=$(( (i+1) %4 ))
|
||||
tmux display-message " ${SPIN:$i:1} $MESSAGE"
|
||||
sleep 0.1
|
||||
done
|
||||
}
|
||||
main
|
Loading…
Reference in New Issue
Block a user