From 613e8c91f082ca3cb64aa10063d3254100deac84 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Tue, 9 Dec 2014 02:46:34 +0100 Subject: Curses: support cycling through long lists of possible auto-completions and optimized screen refreshing/redrawing * pressing e.g. TAB when the popup is showing a list of auto-completions will show the next page, eventually beginning at the first one again. * do not redraw curses windows in the UI methods directly. this resulted in flickering during command-line editing macros and ordinary macro calls because the physical screen was updated immediately. Instead, window refreshing and updated is done centrally in event_loop_iter() only after a key has been processed. Also we use wnoutrefresh() and doupdate() to send as little to the terminal (emulator) as possible. --- src/interface.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/interface.h') diff --git a/src/interface.h b/src/interface.h index 4b5de7f..dcf72ae 100644 --- a/src/interface.h +++ b/src/interface.h @@ -301,6 +301,11 @@ public: { impl().popup_show_impl(); } + inline bool + popup_is_shown(void) + { + return impl().popup_is_shown_impl(); + } inline void popup_clear(void) { -- cgit v1.2.3