changeset: 1987:d4a2adf196c3
tag: tip
user: Kris Maglione <jg_AT_suckless.org>
date: Sat Mar 03 02:23:22 2007 -0500
summary: Use a backing store, and more/resize uncollapsed clients first for flicker prevention.
diff -r 60312c132bea -r d4a2adf196c3 client.c
--- a/client.c Sat Mar 03 01:36:03 2007 -0500
+++ b/client.c Sat Mar 03 02:23:22 2007 -0500
@@ -47,6 +47,7 @@ create_client(Window w, XWindowAttribute
fwa.override_redirect = 1;
fwa.background_pixmap = ParentRelative;
+ fwa.backing_store = Always;
fwa.event_mask =
SubstructureRedirectMask
| SubstructureNotifyMask
@@ -67,7 +68,7 @@ create_client(Window w, XWindowAttribute
/* depth */ DefaultDepth(blz.dpy, blz.screen),
/* class */ CopyFromParent,
/* visual */ DefaultVisual(blz.dpy, blz.screen),
- /* valuemask */ CWOverrideRedirect | CWEventMask | CWBackPixmap,
+ /* valuemask */ CWOverrideRedirect | CWEventMask | CWBackPixmap | CWBackingStore,
/* attributes */&fwa
);
@@ -622,7 +623,7 @@ resize_client(Client *c, XRectangle *r)
f = c->sel;
resize_frame(f, r);
- if(f->area->view == screen->sel)
+ if(f->area->view == screen->sel)
XMoveResizeWindow(blz.dpy, c->framewin,
f->rect.x, f->rect.y,
f->rect.width, f->rect.height);
diff -r 60312c132bea -r d4a2adf196c3 column.c
--- a/column.c Sat Mar 03 01:36:03 2007 -0500
+++ b/column.c Sat Mar 03 02:23:22 2007 -0500
@@ -179,9 +179,14 @@ arrange_column(Area *a, Bool dirty) {
}
scale_column(a);
resize:
- if(a->view == screen->sel)
+ if(a->view == screen->sel) {
for(f=a->frame; f; f=f->anext)
- resize_client(f->client, &f->rect);
+ if(!f->collapsed)
+ resize_client(f->client, &f->rect);
+ for(f=a->frame; f; f=f->anext)
+ if(f->collapsed)
+ resize_client(f->client, &f->rect);
+ }
flush_masked_events(EnterWindowMask);
}
Received on Sat Mar 03 2007 - 08:23:35 UTC
This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:56:06 UTC