mirror of
https://github.com/tmux/tmux.git
synced 2026-04-15 19:46:27 +00:00
Add remain-on-exit key to keep pane around until a key is pressed, from
Michael Grant.
This commit is contained in:
@@ -92,7 +92,7 @@ static const char *options_table_window_size_list[] = {
|
||||
"largest", "smallest", "manual", "latest", NULL
|
||||
};
|
||||
static const char *options_table_remain_on_exit_list[] = {
|
||||
"off", "on", "failed", NULL
|
||||
"off", "on", "failed", "key", NULL
|
||||
};
|
||||
static const char *options_table_destroy_unattached_list[] = {
|
||||
"off", "on", "keep-last", "keep-group", NULL
|
||||
@@ -1408,8 +1408,9 @@ const struct options_table_entry options_table[] = {
|
||||
.scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
|
||||
.choices = options_table_remain_on_exit_list,
|
||||
.default_num = 0,
|
||||
.text = "Whether panes should remain ('on') or be automatically "
|
||||
"killed ('off' or 'failed') when the program inside exits."
|
||||
.text = "Whether panes should remain ('on'), remain until a key is "
|
||||
"pressed ('key') or be automatically killed ('off' or "
|
||||
"'failed') when the program inside exits."
|
||||
},
|
||||
|
||||
{ .name = "remain-on-exit-format",
|
||||
|
||||
@@ -1359,6 +1359,15 @@ try_again:
|
||||
}
|
||||
|
||||
forward_key:
|
||||
if (wp != NULL &&
|
||||
(wp->flags & PANE_EXITED) &&
|
||||
!KEYC_IS_MOUSE(key) &&
|
||||
!KEYC_IS_PASTE(key) &&
|
||||
options_get_number(wp->options, "remain-on-exit") == 3) {
|
||||
options_set_number(wp->options, "remain-on-exit", 0);
|
||||
server_destroy_pane(wp, 0);
|
||||
goto out;
|
||||
}
|
||||
if (c->flags & CLIENT_READONLY)
|
||||
goto out;
|
||||
if (wp != NULL)
|
||||
|
||||
@@ -341,6 +341,7 @@ server_destroy_pane(struct window_pane *wp, int notify)
|
||||
break;
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
case 3:
|
||||
if (wp->flags & PANE_STATUSDRAWN)
|
||||
return;
|
||||
wp->flags |= PANE_STATUSDRAWN;
|
||||
|
||||
5
tmux.1
5
tmux.1
@@ -5569,13 +5569,16 @@ uses when the colour with that index is requested.
|
||||
The index may be from zero to 255.
|
||||
.Pp
|
||||
.It Xo Ic remain\-on\-exit
|
||||
.Op Ic on | off | failed
|
||||
.Op Ic on | off | failed | key
|
||||
.Xc
|
||||
A pane with this flag set is not destroyed when the program running in it
|
||||
exits.
|
||||
If set to
|
||||
.Ic failed ,
|
||||
then only when the program exit status is not zero.
|
||||
If set to
|
||||
.Ic key ,
|
||||
the pane stays open and closes when a key is pressed.
|
||||
The pane may be reactivated with the
|
||||
.Ic respawn\-pane
|
||||
command.
|
||||
|
||||
Reference in New Issue
Block a user