Sync OpenBSD patchset 866:

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.
This commit is contained in:
Tiago Cunha
2011-03-19 23:30:37 +00:00
parent 9bc44043a4
commit a0295b4c2f
4 changed files with 77 additions and 28 deletions

View File

@ -1,4 +1,4 @@
/* $Id: screen-write.c,v 1.93 2011-02-15 15:10:47 tcunha Exp $ */
/* $Id: screen-write.c,v 1.94 2011-03-19 23:30:37 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -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);
}