diff gbwm.c @ 4:f1f332156693

feat/fix: builtin root window bg/overlay bg always black
author Atarwn Gard <a@qwa.su>
date Sun, 12 Oct 2025 21:04:11 +0500
parents 3726f37deac1
children 180e42b65105
line wrap: on
line diff
--- a/gbwm.c	Sun Oct 12 20:54:34 2025 +0500
+++ b/gbwm.c	Sun Oct 12 21:04:11 2025 +0500
@@ -424,7 +424,7 @@
     if (!overlay_win) {
         XSetWindowAttributes wa = {
             .override_redirect = True,
-            .background_pixel = BlackPixel(dpy, DefaultScreen(dpy)),
+            .background_pixel = xft_col_bg.pixel,
             .event_mask = ExposureMask | KeyPressMask
         };
         overlay_win = XCreateWindow(dpy, root, 0, 0, sw, sh, 0,
@@ -707,6 +707,17 @@
     wm_take_focus = XInternAtom(dpy, "WM_TAKE_FOCUS", False);
 }
 
+static void setrootbackground(void) {
+    Colormap cmap = DefaultColormap(dpy, DefaultScreen(dpy));
+    XColor color;
+
+    if (XParseColor(dpy, cmap, root_bg, &color) &&
+        XAllocColor(dpy, cmap, &color)) {
+        XSetWindowBackground(dpy, root, color.pixel);
+        XClearWindow(dpy, root);
+    }
+}
+
 int main(void) {
     signal(SIGCHLD, sigchld);
     if (!(dpy = XOpenDisplay(NULL))) {
@@ -722,6 +733,7 @@
     XDefineCursor(dpy, root, cursor);
 
     setup_colors();
+    setrootbackground();
     setup_icccm();
 
     XSelectInput(dpy, root,