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