diff options
author | Tiago Cunha <tcunha@gmx.com> | 2010-12-30 22:27:38 +0000 |
---|---|---|
committer | Tiago Cunha <tcunha@gmx.com> | 2010-12-30 22:27:38 +0000 |
commit | 095e1b410a31166d1f37e8a6ff99e7bb666737ad (patch) | |
tree | f2885d999020fa54720c720230e0d53dfa27c98b /tty.c | |
parent | 210b4553a5d6b1147e8a51d47f6fb748b67e5676 (diff) | |
download | rtmux-095e1b410a31166d1f37e8a6ff99e7bb666737ad.tar.gz rtmux-095e1b410a31166d1f37e8a6ff99e7bb666737ad.tar.bz2 rtmux-095e1b410a31166d1f37e8a6ff99e7bb666737ad.zip |
Sync OpenBSD patchset 812:
Support all four of the xterm mouse modes. Based on a diff from hsim at
gmx.li.
Diffstat (limited to 'tty.c')
-rw-r--r-- | tty.c | 26 |
1 files changed, 17 insertions, 9 deletions
@@ -1,4 +1,4 @@ -/* $Id: tty.c,v 1.197 2010-12-06 21:57:56 nicm Exp $ */ +/* $Id: tty.c,v 1.198 2010-12-30 22:27:38 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -403,17 +403,25 @@ tty_update_mode(struct tty *tty, int mode) else tty_putcode(tty, TTYC_CIVIS); } - if (changed & (MODE_MOUSE|MODE_MOUSEMOTION)) { - if (mode & MODE_MOUSE) { - if (mode & MODE_MOUSEMOTION) - tty_puts(tty, "\033[?1003h"); - else + if (changed & ALL_MOUSE_MODES) { + if (mode & ALL_MOUSE_MODES) { + if (mode & MODE_MOUSE_STANDARD) tty_puts(tty, "\033[?1000h"); + else if (mode & MODE_MOUSE_HIGHLIGHT) + tty_puts(tty, "\033[?1001h"); + else if (mode & MODE_MOUSE_BUTTON) + tty_puts(tty, "\033[?1002h"); + else if (mode & MODE_MOUSE_ANY) + tty_puts(tty, "\033[?1003h"); } else { - if (mode & MODE_MOUSEMOTION) - tty_puts(tty, "\033[?1003l"); - else + if (tty->mode & MODE_MOUSE_STANDARD) tty_puts(tty, "\033[?1000l"); + else if (tty->mode & MODE_MOUSE_HIGHLIGHT) + tty_puts(tty, "\033[?1001l"); + else if (tty->mode & MODE_MOUSE_BUTTON) + tty_puts(tty, "\033[?1002l"); + else if (tty->mode & MODE_MOUSE_ANY) + tty_puts(tty, "\033[?1003l"); } } if (changed & MODE_KKEYPAD) { |