rendered paste bodyinline void set_transparent_background(Window win)
{
static int colour_set = -1;
if (set_transparent) {
/*
Window parent = win;
unsigned int i;
for (i = 0; i < 50 && parent != RootWindow(display, screen); i++) {
Window r, *children;
unsigned int n;
XSetWindowBackgroundPixmap(display, parent, ParentRelative);
XQueryTree(display, parent, &r, &parent, &children, &n);
XFree(children);
}
*/
Atom type;
int format;
unsigned long length, after;
unsigned char *data;
XGetWindowProperty (display, RootWindow (display, screen),
XInternAtom (display, "_XROOTPMAP_ID", False),
0L, 1L, False, XA_PIXMAP, &type, &format, &length, &after,
&data);
XSetWindowBackgroundPixmap(display, window.window, * (Pixmap *) data);
} else if (colour_set != background_colour) {
XSetWindowBackground(display, win, background_colour);
colour_set = background_colour;
}
XClearWindow(display, win);
}