summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenny Baumann <BenBE@geshi.org>2021-07-04 16:50:41 +0200
committerBenny Baumann <BenBE@geshi.org>2021-07-04 16:50:41 +0200
commit18e3fd5ce79a10aa401bef9575a6c6de8e547d31 (patch)
treec9d626b063fd85d78b8d9ed614ca4b8cb79183aa
parent874fb773a71328b65f203fcf4ea5a67202ef5654 (diff)
Check for set_escdelay in ncurses
-rw-r--r--InfoScreen.c2
-rw-r--r--ScreenManager.c4
-rw-r--r--configure.ac1
3 files changed, 7 insertions, 0 deletions
diff --git a/InfoScreen.c b/InfoScreen.c
index 8f575232..259ecee3 100644
--- a/InfoScreen.c
+++ b/InfoScreen.c
@@ -94,7 +94,9 @@ void InfoScreen_run(InfoScreen* this) {
if (this->inc->active) {
(void) move(LINES - 1, CRT_cursorX);
}
+#ifdef HAVE_SET_ESCDELAY
set_escdelay(25);
+#endif
int ch = getch();
if (ch == ERR) {
diff --git a/ScreenManager.c b/ScreenManager.c
index 6e7551fe..8ec60119 100644
--- a/ScreenManager.c
+++ b/ScreenManager.c
@@ -5,6 +5,8 @@ Released under the GNU GPLv2, see the COPYING file
in the source distribution for its full text.
*/
+#include "config.h" // IWYU pragma: keep
+
#include "ScreenManager.h"
#include <assert.h>
@@ -164,7 +166,9 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
}
int prevCh = ch;
+#ifdef HAVE_SET_ESCDELAY
set_escdelay(25);
+#endif
ch = getch();
HandlerResult result = IGNORED;
diff --git a/configure.ac b/configure.ac
index ec2222d7..8431242f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -336,6 +336,7 @@ if test "$my_htop_platform" = "solaris"; then
# Since ncruses macros use the ERR macro, we can not use another name.
AC_DEFINE([ERR], [(-1)], [Predefine ncurses macro.])
fi
+AC_CHECK_FUNCS( [set_escdelay] )
AC_ARG_ENABLE([hwloc],