diff options
author | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2007-07-17 10:41:34 +0000 |
---|---|---|
committer | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2007-07-17 10:41:34 +0000 |
commit | 1ae13433563c42b26b1212e0ce53293f7b626aa5 (patch) | |
tree | 7472f5ea7e347518469eed5b02c31402a385c7b1 | |
parent | 05940996a84d737ccd27666ec117d36073be21de (diff) | |
download | dzen-1ae13433563c42b26b1212e0ce53293f7b626aa5.tar.gz dzen-1ae13433563c42b26b1212e0ce53293f7b626aa5.zip |
speed up expose handling, do less redrawing
git-svn-id: http://dzen.googlecode.com/svn/trunk@127 f2baff5b-bf2c-0410-a398-912abdc3d8b2
-rw-r--r-- | main.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -459,10 +459,14 @@ handle_xev(void) { && ev.xexpose.window == dzen.title_win.win) drawheader(NULL); if(ev.xexpose.window == dzen.slave_win.win) - x_draw_body();; - for(i=0; i < dzen.slave_win.max_lines; i++) - if(ev.xcrossing.window == dzen.slave_win.line[i]) - x_draw_body(); + x_draw_body(); + else { + for(i=0; i < dzen.slave_win.max_lines; i++) + if(ev.xcrossing.window == dzen.slave_win.line[i]) { + XCopyArea(dzen.dpy, dzen.slave_win.drawable[i], dzen.slave_win.line[i], dzen.gc, + 0, 0, dzen.slave_win.width, dzen.line_height, 0, 0); + } + } } break; case EnterNotify: @@ -558,6 +562,7 @@ handle_newl(void) { 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; + x_draw_body(); } last_cnt = dzen.slave_win.tcnt; } |