summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicm <nicm>2020-03-31 06:35:38 +0000
committernicm <nicm>2020-03-31 06:35:38 +0000
commiteedf059d00365efd763cb9d99835c91d31320956 (patch)
treefc3fc2c676f77dc70ed81cc9af6ca919d3182bdc
parent1fb504d0d5c73c1a0a3585e02e1e3114a3194625 (diff)
Detach reply escape sequences from the pane so they work in popups.
-rw-r--r--popup.c3
-rw-r--r--spawn.c2
2 files changed, 2 insertions, 3 deletions
diff --git a/popup.c b/popup.c
index 7eff7c14..05ff1b4c 100644
--- a/popup.c
+++ b/popup.c
@@ -443,8 +443,6 @@ popup_display(int flags, struct cmdq_item *item, u_int px, u_int py, u_int sx,
popup_write_screen(c, pd);
if (shellcmd != NULL) {
- pd->ictx = input_init(NULL);
-
if (fs != NULL)
s = fs->s;
else
@@ -455,6 +453,7 @@ popup_display(int flags, struct cmdq_item *item, u_int px, u_int py, u_int sx,
pd->job = job_run(shellcmd, s, cwd, popup_job_update_cb,
popup_job_complete_cb, NULL, pd, jobflags, pd->sx - 2,
pd->sy - 2);
+ pd->ictx = input_init(NULL, job_get_event(pd->job));
}
server_client_set_overlay(c, 0, popup_check_cb, popup_mode_cb,
diff --git a/spawn.c b/spawn.c
index 660ee47d..45243517 100644
--- a/spawn.c
+++ b/spawn.c
@@ -256,7 +256,7 @@ spawn_pane(struct spawn_context *sc, char **cause)
window_pane_reset_mode_all(sc->wp0);
screen_reinit(&sc->wp0->base);
input_free(sc->wp0->ictx);
- sc->wp0->ictx = input_init(sc->wp0);
+ sc->wp0->ictx = NULL;
new_wp = sc->wp0;
new_wp->flags &= ~(PANE_STATUSREADY|PANE_STATUSDRAWN);
} else if (sc->lc == NULL) {