All pastes #86514 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-07-12 23:18 UTC
rendered paste body
inline 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);
}