Hello,
Here is a patch that fixes a weird semi-transparency issue some apps
have when using cwm with a compositor. The issue seems to be that the
highest significant byte of the color is not initialized.
According to xwininfo alacritty has a depth of 32 and xterm has a
depth of 24. When using a compositor the windows with a depth of 32
don't have the proper border color.

I attached two screenshots to illustrate the issue. In cwm_colors1.png you
can see an alacritty window between two xterms. The active border is
orange the inactive blue. Alacritty has a white semi transparent border
when it's supposed to be blue.
In cwm_colors2.png alacritty is now the active window and it's now
slightly yellowish and semi transparent instead of orange.

The same issue happens with all windows that have a depth of 32
(firefox, thunderbird...).

Thanks!
Julien

Index: client.c
===================================================================
RCS file: /cvs/xenocara/app/cwm/client.c,v
retrieving revision 1.266
diff -u -r1.266 client.c
--- client.c    26 Feb 2022 15:19:18 -0000      1.266
+++ client.c    16 Mar 2023 09:56:25 -0000
@@ -596,7 +596,7 @@
                pixel = sc->xftcolor[CWM_COLOR_BORDER_URGENCY].pixel;

        XSetWindowBorderWidth(X_Dpy, cc->win, (unsigned int)cc->bwidth);
-       XSetWindowBorder(X_Dpy, cc->win, pixel);
+       XSetWindowBorder(X_Dpy, cc->win, pixel | (0xffu << 24));
 }

 static void


Reply via email to