diff options
| -rw-r--r-- | x.c | 11 | 
1 files changed, 7 insertions, 4 deletions
@@ -1131,7 +1131,7 @@ xinit(int cols, int rows)  {  	XGCValues gcvalues;  	Cursor cursor; -	Window parent; +	Window parent, root;  	pid_t thispid = getpid();  	XColor xmousefg, xmousebg; @@ -1168,16 +1168,19 @@ xinit(int cols, int rows)  		| ButtonMotionMask | ButtonPressMask | ButtonReleaseMask;  	xw.attrs.colormap = xw.cmap; +	root = XRootWindow(xw.dpy, xw.scr);  	if (!(opt_embed && (parent = strtol(opt_embed, NULL, 0)))) -		parent = XRootWindow(xw.dpy, xw.scr); -	xw.win = XCreateWindow(xw.dpy, parent, xw.l, xw.t, +		parent = root; +	xw.win = XCreateWindow(xw.dpy, root, xw.l, xw.t,  			win.w, win.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput,  			xw.vis, CWBackPixel | CWBorderPixel | CWBitGravity  			| CWEventMask | CWColormap, &xw.attrs); +	if (parent != root) +		XReparentWindow(xw.dpy, xw.win, parent, xw.l, xw.t);  	memset(&gcvalues, 0, sizeof(gcvalues));  	gcvalues.graphics_exposures = False; -	dc.gc = XCreateGC(xw.dpy, parent, GCGraphicsExposures, +	dc.gc = XCreateGC(xw.dpy, xw.win, GCGraphicsExposures,  			&gcvalues);  	xw.buf = XCreatePixmap(xw.dpy, xw.win, win.w, win.h,  			DefaultDepth(xw.dpy, xw.scr));  | 
