Browse Source

mc: Fix mouse after ncurses 6.1 (fixes #2112)

android-5
Fredrik Fornwall 7 years ago
parent
commit
afcdc0b153
  1. 1
      packages/mc/build.sh
  2. 22
      packages/mc/lib-tty-key.c.patch

1
packages/mc/build.sh

@ -1,6 +1,7 @@
TERMUX_PKG_HOMEPAGE=https://www.midnight-commander.org/
TERMUX_PKG_DESCRIPTION="Midnight Commander - a powerful file manager"
TERMUX_PKG_VERSION=4.8.20
TERMUX_PKG_REVISION=1
TERMUX_PKG_SHA256=017ee7f4f8ae420a04f4d6fcebaabe5b494661075c75442c76e9c8b1923d501c
TERMUX_PKG_SRCURL=http://ftp.midnight-commander.org/mc-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_DEPENDS="libandroid-support, ncurses, glib"

22
packages/mc/lib-tty-key.c.patch

@ -0,0 +1,22 @@
The code assumes that "kmous" capability is for X10 mouse reporting,
so if an event for kmous happens it tries to decode it according to
the X10 protocol.
This breaks starting with ncurses 6.1 as the terminfo for xterm
started using the SGR sequence for xterm in 6.1.
This is a hacky, non-invasive patch which just assumes that the SGR
protocol is used.
diff -u -r ../mc-4.8.20/lib/tty/key.c ./lib/tty/key.c
--- ../mc-4.8.20/lib/tty/key.c 2017-03-04 18:51:38.000000000 +0100
+++ ./lib/tty/key.c 2018-02-08 23:19:38.207353992 +0100
@@ -2140,7 +2140,7 @@
|| c == MCKEY_EXTENDED_MOUSE))
{
/* Mouse event */
- xmouse_get_event (event, c == MCKEY_EXTENDED_MOUSE);
+ xmouse_get_event (event, 1);
c = (event->type != 0) ? EV_MOUSE : EV_NONE;
}
else if (c == MCKEY_BRACKETED_PASTING_START)
Loading…
Cancel
Save