summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/input.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2019-11-15 11:16:53 +0000
committernicm <nicm@openbsd.org>2019-11-15 11:16:53 +0000
commite9afa876c98111064bfdb6e56d764095da4c2cf3 (patch)
treebcae3f1d31376d04ac0f783195f384cd742051ab /usr.bin/tmux/input.c
parentdouble word; (diff)
downloadwireguard-openbsd-e9afa876c98111064bfdb6e56d764095da4c2cf3.tar.xz
wireguard-openbsd-e9afa876c98111064bfdb6e56d764095da4c2cf3.zip
Handle OSC 7 (a VTE extension) and put the result in a new format (pane_path).
Diffstat (limited to 'usr.bin/tmux/input.c')
-rw-r--r--usr.bin/tmux/input.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/usr.bin/tmux/input.c b/usr.bin/tmux/input.c
index 4ae151c15ad..41a0b5c9d70 100644
--- a/usr.bin/tmux/input.c
+++ b/usr.bin/tmux/input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: input.c,v 1.164 2019/11/14 08:00:30 nicm Exp $ */
+/* $OpenBSD: input.c,v 1.165 2019/11/15 11:16:53 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -132,6 +132,7 @@ static void input_set_state(struct window_pane *,
static void input_reset_cell(struct input_ctx *);
static void input_osc_4(struct input_ctx *, const char *);
+static void input_osc_7(struct input_ctx *, const char *);
static void input_osc_10(struct input_ctx *, const char *);
static void input_osc_11(struct input_ctx *, const char *);
static void input_osc_52(struct input_ctx *, const char *);
@@ -2211,6 +2212,12 @@ input_exit_osc(struct input_ctx *ictx)
case 4:
input_osc_4(ictx, p);
break;
+ case 7:
+ if (utf8_isvalid(p)) {
+ screen_set_path(sctx->s, p);
+ server_status_window(ictx->wp->window);
+ }
+ break;
case 10:
input_osc_10(ictx, p);
break;