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);