Use 32-bit visual by default if available.

With this patch, we use 32-bit visuals per default whenever it is
available. Otherwise, we fall back to the actual root window's
depth, which will typically be 24-bit.

Before this patch, we already used 32-bit depth for containers with
a window that uses 32-bit. However, this means that we didn't use
32-bit for split parent containers on which decoration is drawn.
For 32-bit windows using transparency, this caused a graphical glitch
because the decoration pixmap behind it would show through. This
behavior is fixed with this change.

relates to #1278
This commit is contained in:
Ingo Bürk
2015-11-17 12:50:06 +01:00
parent d2126027ce
commit 780cb8d15d
7 changed files with 77 additions and 49 deletions

View File

@ -252,6 +252,11 @@ uint16_t get_visual_depth(xcb_visualid_t visual_id) {
}
return 0;
}
/*
* Get visual type specified by visualid
*
*/
xcb_visualtype_t *get_visualtype_by_id(xcb_visualid_t visual_id) {
xcb_depth_iterator_t depth_iter;