mirror of
https://github.com/tmux/tmux.git
synced 2025-01-05 23:38:48 +00:00
Make two -E only close popup automatically if the command exited with 0.
This commit is contained in:
parent
4346098e97
commit
593fddf84b
5
popup.c
5
popup.c
@ -260,7 +260,8 @@ popup_key_cb(struct client *c, struct key_event *event)
|
||||
if (pd->ictx != NULL && (pd->flags & POPUP_WRITEKEYS)) {
|
||||
if (KEYC_IS_MOUSE(event->key))
|
||||
return (0);
|
||||
if ((~pd->flags & POPUP_CLOSEEXIT) &&
|
||||
if (((pd->flags & (POPUP_CLOSEEXIT|POPUP_CLOSEEXITZERO)) == 0 ||
|
||||
pd->job == NULL) &&
|
||||
(event->key == '\033' || event->key == '\003'))
|
||||
return (1);
|
||||
if (pd->job == NULL)
|
||||
@ -347,6 +348,8 @@ popup_job_complete_cb(struct job *job)
|
||||
|
||||
if (pd->flags & POPUP_CLOSEEXIT)
|
||||
server_client_clear_overlay(pd->c);
|
||||
if ((pd->flags & POPUP_CLOSEEXITZERO) && pd->status == 0)
|
||||
server_client_clear_overlay(pd->c);
|
||||
}
|
||||
|
||||
u_int
|
||||
|
5
tmux.1
5
tmux.1
@ -5032,6 +5032,11 @@ shell command.
|
||||
closes the popup automatically when
|
||||
.Ar shell-command
|
||||
exits.
|
||||
Two
|
||||
.Fl E
|
||||
closes the popup only if
|
||||
.Ar shell-command
|
||||
exited with success.
|
||||
With
|
||||
.Fl K ,
|
||||
.Ql Escape
|
||||
|
1
tmux.h
1
tmux.h
@ -2761,6 +2761,7 @@ int menu_display(struct menu *, int, struct cmdq_item *, u_int,
|
||||
/* popup.c */
|
||||
#define POPUP_WRITEKEYS 0x1
|
||||
#define POPUP_CLOSEEXIT 0x2
|
||||
#define POPUP_CLOSEEXITZERO 0x4
|
||||
u_int popup_width(struct cmdq_item *, u_int, const char **,
|
||||
struct client *, struct cmd_find_state *);
|
||||
u_int popup_height(u_int, const char **);
|
||||
|
Loading…
Reference in New Issue
Block a user