From 072fe88a5d2be716825f25c5819c2ff057b48a11 Mon Sep 17 00:00:00 2001 From: gotmor Date: Mon, 11 Jun 2007 13:20:22 +0000 Subject: only redraw if really necessary git-svn-id: http://dzen.googlecode.com/svn/trunk@81 f2baff5b-bf2c-0410-a398-912abdc3d8b2 --- main.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index b71a824..af5128b 100644 --- a/main.c +++ b/main.c @@ -471,15 +471,19 @@ handle_newl(void) { if(dzen.slave_win.max_lines && (dzen.slave_win.tcnt > last_cnt)) { if (XGetWindowAttributes(dzen.dpy, dzen.slave_win.win, &wa), wa.map_state != IsUnmapped - /* autoscroll only if we're currently viewing the last line of input */ + /* autoscroll and redraw only if we're + * currently viewing the last line of input + */ && (dzen.slave_win.last_line_vis == last_cnt)) { dzen.slave_win.first_line_vis = 0; dzen.slave_win.last_line_vis = 0; - } else if(wa.map_state == IsUnmapped || !dzen.slave_win.last_line_vis) { + x_draw_body(); + } + /* forget state if window was unmapped */ + else if(wa.map_state == IsUnmapped || !dzen.slave_win.last_line_vis) { dzen.slave_win.first_line_vis = 0; dzen.slave_win.last_line_vis = 0; } - do_action(exposeslave); last_cnt = dzen.slave_win.tcnt; } } -- cgit v1.2.3-54-g00ecf