Welcome to awesome bug tracking system.

FS#837 - "--no-argb" and default behavior are swapped.

Attached to Project: awesome
Opened by Uli Schlachter (psychon) - Thursday, 21 October 2010, 16:21 GMT
Last edited by Uli Schlachter (psychon) - Wednesday, 11 April 2012, 18:23 GMT
Task Type Bug Report
Category Core
Status Closed
Assigned To No-one
Operating System All
Severity Medium
Priority Low
Reported Version git/master
Due in Version 3.5
Due Date Undecided
Percent Complete 100%
Votes 1
Private No


X11 is buggy. Using ARGB visuals results in tons of wrongly displayed stuff, so I made awesome use the default visual again.
This should be cleaned up properly before a release. :/

commit c7da695e1002c25fd234d6a2af946e6dd8655b7f
Author: Uli Schlachter <>
Date: Thu Oct 21 18:16:13 2010 +0200

Use the screen's default visual by default again

Seems like there are enough bugs in the X server that one can't really use a 32
bit visual. Looks of repaint errors. :(

This should somehow be fixed properly before release. For now, this just swaps
the default behavior and the "--no-argb" behavior.

Signed-off-by: Uli Schlachter <>
This task depends upon

Closed by  Uli Schlachter (psychon)
Wednesday, 11 April 2012, 18:23 GMT
Reason for closing:  Fixed
Additional comments about closing:  commit f7aa4b59696e2d2e3f93c3f71fdbf1cf98e8b212
Author: Uli Schlachter <>
Date: Wed Apr 11 20:17:52 2012 +0200

Use ARGB visuals by default again ( FS#837 )

My intel driver no longer is broken with ARGB visuals, so let's enable this by
default again. Let's see how long it takes for someone else to hit a broken
driver and complain. :-)

This reverts commit c7da695e1002c25fd234d6a2af946e6dd8655b7f .

Signed-off-by: Uli Schlachter <>
Comment by Uli Schlachter (psychon) - Wednesday, 23 February 2011, 10:34 GMT
 FS#862  was marked as a duplicate of this. Reporter there says that sawfish gets this right without any magical command line switch.
Comment by Uli Schlachter (psychon) - Wednesday, 23 February 2011, 10:44 GMT
From sawfish's source code (image_* are the screen's default visual/depth/colormap (usually)):

if (w->frame == 0)
int depth = image_depth;
Visual *visual = image_visual;
Colormap colormap = image_cmap;

/* If window is using an ARGB visual, the frame also should. */
if (w->attr.depth == 32)
depth = 32;
visual = w->attr.visual;
colormap = w->attr.colormap;

wa.override_redirect = True;
wa.colormap = colormap;
wa.border_pixel = BlackPixel (dpy, screen_num);
wa.save_under = w->attr.save_under;
wamask = CWOverrideRedirect | CWColormap | CWBorderPixel | CWSaveUnder;

w->frame = XCreateWindow (dpy, root_window, w->attr.x, w->attr.y,
w->frame_width, w->frame_height, 0,
depth, InputOutput, visual, wamask, &wa);