summaryrefslogtreecommitdiff
path: root/src/client.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-06-21 19:56:23 +0100
committerMaxime Coste <frrrwww@gmail.com>2015-06-21 19:56:23 +0100
commit3834440298e2cf120dbddcfce959cc7e40c335ac (patch)
tree2d6b26a3581c87f61178b0c03d5d28d524123777 /src/client.cc
parent7c22ff217d5d02bb926202e48dc35ba7a19c6f66 (diff)
Rework window redraw handling, should redraw window less often
Diffstat (limited to 'src/client.cc')
-rw-r--r--src/client.cc9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/client.cc b/src/client.cc
index a77ac917..3397de15 100644
--- a/src/client.cc
+++ b/src/client.cc
@@ -70,10 +70,7 @@ void Client::handle_available_input(EventMode mode)
if (*key == ctrl('c'))
killpg(getpgrp(), SIGINT);
else
- {
m_input_handler.handle_key(*key);
- context().window().forget_timestamp();
- }
}
}
catch (Kakoune::runtime_error& error)
@@ -148,12 +145,8 @@ void Client::redraw_ifn()
{
Face default_face = get_face("Default");
- if (context().window().timestamp() != context().buffer().timestamp())
+ if (context().window().needs_redraw(context()))
{
- CharCoord dimensions = context().ui().dimensions();
- if (dimensions == CharCoord{0,0})
- return;
- context().window().set_dimensions(dimensions);
context().window().update_display_buffer(context());
context().ui().draw(context().window().display_buffer(), default_face);