From f7c42c21bacf84af52079b239a18294851fbdb3a Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Wed, 29 Dec 2010 21:49:06 +0000 Subject: Support all four of the xterm mouse modes. Based on a diff from hsim at gmx.li. --- screen-write.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'screen-write.c') diff --git a/screen-write.c b/screen-write.c index 882fced4..c4e873b1 100644 --- a/screen-write.c +++ b/screen-write.c @@ -829,16 +829,23 @@ screen_write_insertmode(struct screen_write_ctx *ctx, int state) s->mode &= ~MODE_INSERT; } -/* Set mouse mode. */ +/* Set mouse mode off. */ void -screen_write_mousemode(struct screen_write_ctx *ctx, int state) +screen_write_mousemode_off(struct screen_write_ctx *ctx) { struct screen *s = ctx->s; - if (state) - s->mode |= MODE_MOUSE; - else - s->mode &= ~MODE_MOUSE; + s->mode &= ~ALL_MOUSE_MODES; +} + +/* Set mouse mode on. */ +void +screen_write_mousemode_on(struct screen_write_ctx *ctx, int mode) +{ + struct screen *s = ctx->s; + + s->mode &= ~ALL_MOUSE_MODES; + s->mode |= mode; } /* Line feed. */ -- cgit