Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Christian Salzmann-Jaeckel
tmux-resurrect
Commits
ddf9c5ef
Unverified
Commit
ddf9c5ef
authored
Feb 10, 2015
by
Bruno Sutic
Browse files
Reorder function in restore script
parent
442b3ed2
Changes
2
Hide whitespace changes
Inline
Side-by-side
scripts/helpers.sh
View file @
ddf9c5ef
...
...
@@ -85,10 +85,3 @@ resurrect_history_file() {
local
pane_id
=
"
$1
"
echo
"
$(
resurrect_dir
)
/bash_history-
${
pane_id
}
"
}
restore_zoomed_windows
()
{
awk
'BEGIN { FS="\t"; OFS="\t" } /^pane/ && $6 ~ /Z/ && $9 == 1 { print $2, $3; }'
$(
last_resurrect_file
)
|
while
IFS
=
$d
read
session_name window_number
;
do
tmux resize-pane
-t
"
${
session_name
}
:
${
window_number
}
"
-Z
done
}
scripts/restore.sh
View file @
ddf9c5ef
...
...
@@ -136,6 +136,31 @@ restore_state() {
done
}
restore_grouped_session
()
{
local
grouped_session
=
"
$1
"
echo
"
$grouped_session
"
|
while
IFS
=
$d
read
line_type grouped_session original_session alternate_window active_window
;
do
TMUX
=
""
tmux
-S
"
$(
tmux_socket
)
"
new-session
-d
-s
"
$grouped_session
"
-t
"
$original_session
"
done
}
restore_active_and_alternate_windows_for_grouped_sessions
()
{
local
grouped_session
=
"
$1
"
echo
"
$grouped_session
"
|
while
IFS
=
$d
read
line_type grouped_session original_session alternate_window_index active_window_index
;
do
alternate_window_index
=
"
$(
remove_first_char
"
$alternate_window_index
"
)
"
active_window_index
=
"
$(
remove_first_char
"
$active_window_index
"
)
"
if
[
-n
"
$alternate_window_index
"
]
;
then
tmux switch-client
-t
"
${
grouped_session
}
:
${
alternate_window_index
}
"
fi
if
[
-n
"
$active_window_index
"
]
;
then
tmux switch-client
-t
"
${
grouped_session
}
:
${
active_window_index
}
"
fi
done
}
# functions called from main (ordered)
restore_all_panes
()
{
while
read
line
;
do
if
is_line_type
"pane"
"
$line
"
;
then
...
...
@@ -144,6 +169,13 @@ restore_all_panes() {
done
<
$(
last_resurrect_file
)
}
restore_pane_layout_for_each_window
()
{
\g
rep
'^window'
$(
last_resurrect_file
)
|
while
IFS
=
$d
read
line_type session_name window_number window_active window_flags window_layout
;
do
tmux
select
-layout
-t
"
${
session_name
}
:
${
window_number
}
"
"
$window_layout
"
done
}
restore_shell_history
()
{
awk
'BEGIN { FS="\t"; OFS="\t" } /^pane/ { print $2, $3, $7, $10; }'
$(
last_resurrect_file
)
|
while
IFS
=
$d
read
session_name window_number pane_index pane_command
;
do
...
...
@@ -171,13 +203,6 @@ restore_all_pane_processes() {
fi
}
restore_pane_layout_for_each_window
()
{
\g
rep
'^window'
$(
last_resurrect_file
)
|
while
IFS
=
$d
read
line_type session_name window_number window_active window_flags window_layout
;
do
tmux
select
-layout
-t
"
${
session_name
}
:
${
window_number
}
"
"
$window_layout
"
done
}
restore_active_pane_for_each_window
()
{
awk
'BEGIN { FS="\t"; OFS="\t" } /^pane/ && $9 == 1 { print $2, $3, $7; }'
$(
last_resurrect_file
)
|
while
IFS
=
$d
read
session_name window_number active_pane
;
do
...
...
@@ -186,27 +211,11 @@ restore_active_pane_for_each_window() {
done
}
restore_grouped_session
()
{
local
grouped_session
=
"
$1
"
echo
"
$grouped_session
"
|
while
IFS
=
$d
read
line_type grouped_session original_session alternate_window active_window
;
do
TMUX
=
""
tmux
-S
"
$(
tmux_socket
)
"
new-session
-d
-s
"
$grouped_session
"
-t
"
$original_session
"
done
}
restore_active_and_alternate_windows_for_grouped_sessions
()
{
local
grouped_session
=
"
$1
"
echo
"
$grouped_session
"
|
while
IFS
=
$d
read
line_type grouped_session original_session alternate_window_index active_window_index
;
do
alternate_window_index
=
"
$(
remove_first_char
"
$alternate_window_index
"
)
"
active_window_index
=
"
$(
remove_first_char
"
$active_window_index
"
)
"
if
[
-n
"
$alternate_window_index
"
]
;
then
tmux switch-client
-t
"
${
grouped_session
}
:
${
alternate_window_index
}
"
fi
if
[
-n
"
$active_window_index
"
]
;
then
tmux switch-client
-t
"
${
grouped_session
}
:
${
active_window_index
}
"
fi
done
restore_zoomed_windows
()
{
awk
'BEGIN { FS="\t"; OFS="\t" } /^pane/ && $6 ~ /Z/ && $9 == 1 { print $2, $3; }'
$(
last_resurrect_file
)
|
while
IFS
=
$d
read
session_name window_number
;
do
tmux resize-pane
-t
"
${
session_name
}
:
${
window_number
}
"
-Z
done
}
restore_grouped_sessions
()
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment