diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2011-03-07 23:46:27 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2011-03-07 23:46:27 +0000 |
commit | 79e30daeae1d49a1cf1dc4618edf1ec82804a80c (patch) | |
tree | 60ba3ed616a1c1d247a4af715dc27ef8a2d22e76 /screen-write.c | |
parent | d5ed5fb08ff83a2cc38292b3eb0addab21ce6282 (diff) | |
download | rtmux-79e30daeae1d49a1cf1dc4618edf1ec82804a80c.tar.gz rtmux-79e30daeae1d49a1cf1dc4618edf1ec82804a80c.tar.bz2 rtmux-79e30daeae1d49a1cf1dc4618edf1ec82804a80c.zip |
Support passing through escape sequences to the underlying terminal by
using DCS with a "tmux;" prefix. Escape characters in the sequences must
be doubled. For example:
$ printf '\033Ptmux;\033\033]12;red\007\033\\'
Will pass \033]12;red\007 to the terminal (and change the cursor colour
in xterm). From Kevin Goodsell.
Diffstat (limited to 'screen-write.c')
-rw-r--r-- | screen-write.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/screen-write.c b/screen-write.c index 4c8382de..09f84bfd 100644 --- a/screen-write.c +++ b/screen-write.c @@ -1191,3 +1191,15 @@ screen_write_overwrite(struct screen_write_ctx *ctx, u_int width) grid_view_set_cell(gd, xx, s->cy, &grid_default_cell); } } + +void +screen_write_rawstring(struct screen_write_ctx *ctx, u_char *str, u_int len) +{ + struct tty_ctx ttyctx; + + screen_write_initctx(ctx, &ttyctx, 0); + ttyctx.ptr = str; + ttyctx.num = len; + + tty_write(tty_cmd_rawstring, &ttyctx); +} |