commit 923b07f

chld  ·  2026-07-13 16:46:00 +0000 UTC
parent aff3674
irregular window
1 files changed,  +15, -1
M xl.c
M xl.c
+15, -1
 1@@ -40,11 +40,23 @@ int main(int ac, char **av)
 2 	Window w=XCreateSimpleWindow(d, RootWindow(d, s),
 3 			x, y, wi, hi, 0, BlackPixel(d,s), 
 4 			WhitePixel(d, s));
 5-	XStoreName(d, w, "xmenu");
 6+	XStoreName(d, w, "xlnd");
 7 	XSelectInput(d, w, ExposureMask|KeyPressMask|StructureNotifyMask|
 8 			ButtonPressMask|ButtonReleaseMask|
 9 			PointerMotionMask|LeaveWindowMask);
10+	/* 
11+	 * dont make it a regular window
12+	 * kinda like rofi or layer-shell
13+	 */
14+	XSetWindowAttributes at; at.override_redirect=True;
15+	XChangeWindowAttributes(d,w,CWOverrideRedirect, &at);
16+	
17 	XMapWindow(d, w);
18+	XMapRaised(d, w);
19+	XSetInputFocus(d,w,RevertToPointerRoot,CurrentTime);
20+	XGrabKeyboard(d,w,True,GrabModeAsync,GrabModeAsync,CurrentTime);
21+	XGrabPointer(d,w,True,ButtonPressMask|PointerMotionMask,GrabModeAsync,GrabModeAsync,None,None,CurrentTime);
22+
23 	GC gc=XCreateGC(d, w, 0, NULL);
24 	XSetForeground(d, gc, WhitePixel(d,s));
25 	XFillRectangle(d, w,gc,0,0,wi,hi);
26@@ -164,6 +176,8 @@ int main(int ac, char **av)
27 	}
28 
29 q:
30+	XUngrabKeyboard(d,CurrentTime);
31+	XUngrabPointer(d,CurrentTime);
32 	XFreeGC(d,gc);
33 	XDestroyWindow(d,w);
34 	XCloseDisplay(d);