diff options
author | Thomas Adam <thomas@xteddy.org> | 2021-12-31 14:01:10 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2021-12-31 14:01:10 +0000 |
commit | 080079c55a7f94af5ead4fad71ee2b33f54b154b (patch) | |
tree | da6594750f5b8f27bb74d4787bcfdbcc3d5a48cc | |
parent | 47923bd5f62f49924e20f3cabcff9350968449a2 (diff) | |
parent | e6e3c75ed70adece8b1cf93017f6f359d022bdb0 (diff) | |
download | rtmux-080079c55a7f94af5ead4fad71ee2b33f54b154b.tar.gz rtmux-080079c55a7f94af5ead4fad71ee2b33f54b154b.tar.bz2 rtmux-080079c55a7f94af5ead4fad71ee2b33f54b154b.zip |
Merge branch 'obsd-master' into master
-rw-r--r-- | tty.c | 25 |
1 files changed, 9 insertions, 16 deletions
@@ -791,26 +791,19 @@ tty_update_mode(struct tty *tty, int mode, struct screen *s) if ((changed & ALL_MOUSE_MODES) && tty_term_has(term, TTYC_KMOUS)) { /* - * If the mouse modes have changed, clear any that are set and - * apply again. There are differences in how terminals track - * the various bits. + * If the mouse modes have changed, clear then all and apply + * again. There are differences in how terminals track the + * various bits. */ - if (tty->mode & MODE_MOUSE_SGR) - tty_puts(tty, "\033[?1006l"); - if (tty->mode & MODE_MOUSE_STANDARD) - tty_puts(tty, "\033[?1000l"); - if (tty->mode & MODE_MOUSE_BUTTON) - tty_puts(tty, "\033[?1002l"); - if (tty->mode & MODE_MOUSE_ALL) - tty_puts(tty, "\033[?1003l"); + tty_puts(tty, "\033[?1006l\033[?1000l\033[?1002l\033[?1003l"); if (mode & ALL_MOUSE_MODES) tty_puts(tty, "\033[?1006h"); - if (mode & MODE_MOUSE_STANDARD) - tty_puts(tty, "\033[?1000h"); - if (mode & MODE_MOUSE_BUTTON) - tty_puts(tty, "\033[?1002h"); if (mode & MODE_MOUSE_ALL) - tty_puts(tty, "\033[?1003h"); + tty_puts(tty, "\033[?1000h\033[?1002h\033[?1003h"); + if (mode & MODE_MOUSE_BUTTON) + tty_puts(tty, "\033[?1000h\033[?1002h"); + else if (mode & MODE_MOUSE_STANDARD) + tty_puts(tty, "\033[?1000h"); } if (changed & MODE_BRACKETPASTE) { if (mode & MODE_BRACKETPASTE) |