From afcdc0b153df4f371713e0f50cd336cdca62d390 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Fri, 9 Feb 2018 00:08:00 +0100 Subject: [PATCH] mc: Fix mouse after ncurses 6.1 (fixes #2112) --- packages/mc/build.sh | 1 + packages/mc/lib-tty-key.c.patch | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 packages/mc/lib-tty-key.c.patch diff --git a/packages/mc/build.sh b/packages/mc/build.sh index 418a4876e..782b2a17e 100755 --- a/packages/mc/build.sh +++ b/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" diff --git a/packages/mc/lib-tty-key.c.patch b/packages/mc/lib-tty-key.c.patch new file mode 100644 index 000000000..b95bb6140 --- /dev/null +++ b/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)