Inherit visual from frame window so that metacity will work with the new
2003-11-15 Rob Adams <readams@readams.net> Inherit visual from frame window so that metacity will work with the new compositing manager extension work by Keith on freedesktop.org, so that ARGB windows can be full alpha-transparent without a metacity frame getting drawn in the background. In the long term, we need to actually set alpha values when drawing the frame so that it will really work; this is a stopgap solution. Patch from Keith Packard; see Bug 126875. * src/frame.c (meta_window_ensure_frame): pass client visual to frame. * src/ui.[ch] (meta_ui_create_frame_window): add new xvisual parameter and use it to create new window.
This commit is contained in:
13
src/frame.c
13
src/frame.c
@ -39,6 +39,7 @@ meta_window_ensure_frame (MetaWindow *window)
|
||||
{
|
||||
MetaFrame *frame;
|
||||
XSetWindowAttributes attrs;
|
||||
Visual *visual;
|
||||
|
||||
if (window->frame)
|
||||
return;
|
||||
@ -78,10 +79,16 @@ meta_window_ensure_frame (MetaWindow *window)
|
||||
* visual as the client.
|
||||
*/
|
||||
|
||||
visual = 0;
|
||||
/* XXX special case for depth 32 windows (assumed to be ARGB) */
|
||||
if (window->depth == 32)
|
||||
visual = window->xvisual;
|
||||
|
||||
frame->xwindow = meta_ui_create_frame_window (window->screen->ui,
|
||||
window->display->xdisplay,
|
||||
frame->rect.x,
|
||||
frame->rect.y,
|
||||
window->display->xdisplay,
|
||||
visual,
|
||||
frame->rect.x,
|
||||
frame->rect.y,
|
||||
frame->rect.width,
|
||||
frame->rect.height,
|
||||
frame->window->screen->number);
|
||||
|
Reference in New Issue
Block a user