diff options
author | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2007-06-11 13:20:22 +0000 |
---|---|---|
committer | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2007-06-11 13:20:22 +0000 |
commit | 072fe88a5d2be716825f25c5819c2ff057b48a11 (patch) | |
tree | d94b686d8d65b76926601bbf0406ab644ee0e675 | |
parent | baa69108659637171bf24ccc5cafe5adb302aaf7 (diff) | |
download | dzen-072fe88a5d2be716825f25c5819c2ff057b48a11.tar.gz dzen-072fe88a5d2be716825f25c5819c2ff057b48a11.zip |
only redraw if really necessary
git-svn-id: http://dzen.googlecode.com/svn/trunk@81 f2baff5b-bf2c-0410-a398-912abdc3d8b2
-rw-r--r-- | main.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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; } } |