aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/interface-curses.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interface-curses.cpp')
-rw-r--r--src/interface-curses.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/interface-curses.cpp b/src/interface-curses.cpp
index 7a242cd..be1bd21 100644
--- a/src/interface-curses.cpp
+++ b/src/interface-curses.cpp
@@ -248,8 +248,7 @@ InterfaceCurses::info_update_impl(const QRegister *reg)
info_current = g_strconcat(PACKAGE_NAME " - <QRegister> ",
name, NIL);
g_free(name);
-
- draw_info();
+ /* NOTE: drawn in event_loop_iter() */
}
void
@@ -259,8 +258,7 @@ InterfaceCurses::info_update_impl(const Buffer *buffer)
info_current = g_strconcat(PACKAGE_NAME " - <Buffer> ",
buffer->filename ? : UNNAMED_FILE,
buffer->dirty ? "*" : "", NIL);
-
- draw_info();
+ /* NOTE: drawn in event_loop_iter() */
}
void
@@ -577,6 +575,13 @@ event_loop_iter()
sigint_occurred = FALSE;
+ /*
+ * Info window is updated very often which is very
+ * costly, especially when using PDC_set_title(),
+ * so we redraw it here, where the overhead does
+ * not matter much.
+ */
+ interface.draw_info();
wnoutrefresh(interface.info_window);
/* FIXME: this does wrefresh() internally */
interface.current_view->refresh();