mirror of
https://github.com/0intro/wmii
synced 2025-03-30 02:22:50 +03:00
flicker prevention through screen-sized offscreen pixmap
This commit is contained in:
parent
e57867eddd
commit
e8178048af
@ -25,7 +25,7 @@ create_frame(Area *a, Client *c)
|
||||
f->collapsed = False;
|
||||
|
||||
f->tile.blitz = &blz;
|
||||
f->tile.drawable = c->framewin;
|
||||
f->tile.drawable = pmap;
|
||||
f->tile.gc = c->gc;
|
||||
f->tile.font = &def.font;
|
||||
f->tile.color = def.normcolor;
|
||||
@ -34,7 +34,7 @@ create_frame(Area *a, Client *c)
|
||||
f->posbar.align = CENTER;
|
||||
|
||||
f->tagbar.blitz = &blz;
|
||||
f->tagbar.drawable = c->framewin;
|
||||
f->tagbar.drawable = pmap;
|
||||
f->tagbar.gc = c->gc;
|
||||
f->tagbar.font = &def.font;
|
||||
f->tagbar.norm = def.normcolor;
|
||||
@ -184,6 +184,11 @@ draw_frame(Frame *f)
|
||||
blitz_draw_input(&f->tagbar);
|
||||
blitz_draw_label(&f->titlebar, f->client->name);
|
||||
blitz_draw_label(&f->posbar, buf);
|
||||
XCopyArea(blz.display, pmap, f->client->framewin, f->tagbar.gc,
|
||||
f->rect.x, f->rect.y,
|
||||
f->rect.width, f->rect.height,
|
||||
f->rect.x, f->rect.y);
|
||||
XSync(blz.display, False);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -338,6 +338,9 @@ main(int argc, char *argv[])
|
||||
bbrush.color = def.normcolor;
|
||||
bbrush.font = &def.font;
|
||||
|
||||
pmap = XCreatePixmap(blz.display, blz.root, rect.width, rect.height,
|
||||
DefaultDepth(blz.display, blz.screen));
|
||||
|
||||
XMapRaised(blz.display, barwin);
|
||||
draw_bar();
|
||||
scan_wins();
|
||||
|
@ -185,6 +185,7 @@ Cursor cursor[CurLast];
|
||||
unsigned int valid_mask;
|
||||
unsigned int num_lock_mask;
|
||||
Bool sel_screen;
|
||||
Pixmap pmap;
|
||||
void (*handler[LASTEvent]) (XEvent *);
|
||||
|
||||
/* wm.c */
|
||||
|
Loading…
x
Reference in New Issue
Block a user