When testing for shadow, test for window shape before override redirect.
This commit is contained in:
parent
33ae559eca
commit
c58ade6600
@ -626,19 +626,11 @@ meta_comp_window_has_shadow (MetaCompWindow *self)
|
|||||||
*/
|
*/
|
||||||
if (priv->argb32 || priv->opacity != 0xff)
|
if (priv->argb32 || priv->opacity != 0xff)
|
||||||
{
|
{
|
||||||
meta_verbose ("Window has no shadow as it is ARGB\n");
|
meta_verbose ("Window 0x%x has no shadow as it is ARGB\n",
|
||||||
|
(guint)priv->xwindow);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Add shadows to override redirect windows (e.g., Gtk menus).
|
|
||||||
*/
|
|
||||||
if (priv->attrs.override_redirect)
|
|
||||||
{
|
|
||||||
meta_verbose ("Window has shadow because it is override redirect.\n");
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Always put a shadow around windows with a frame - This should override
|
* Always put a shadow around windows with a frame - This should override
|
||||||
* the restriction about not putting a shadow around shaped windows
|
* the restriction about not putting a shadow around shaped windows
|
||||||
@ -648,7 +640,8 @@ meta_comp_window_has_shadow (MetaCompWindow *self)
|
|||||||
{
|
{
|
||||||
if (meta_window_get_frame (priv->window))
|
if (meta_window_get_frame (priv->window))
|
||||||
{
|
{
|
||||||
meta_verbose ("Window has shadow because it has a frame\n");
|
meta_verbose ("Window 0x%x has shadow because it has a frame\n",
|
||||||
|
(guint)priv->xwindow);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -658,17 +651,30 @@ meta_comp_window_has_shadow (MetaCompWindow *self)
|
|||||||
*/
|
*/
|
||||||
if (priv->shaped)
|
if (priv->shaped)
|
||||||
{
|
{
|
||||||
meta_verbose ("Window has no shadow as it is shaped\n");
|
meta_verbose ("Window 0x%x has no shadow as it is shaped\n",
|
||||||
|
(guint)priv->xwindow);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add shadows to override redirect windows (e.g., Gtk menus).
|
||||||
|
* This must have lower priority than window shape test.
|
||||||
|
*/
|
||||||
|
if (priv->attrs.override_redirect)
|
||||||
|
{
|
||||||
|
meta_verbose ("Window 0x%x has shadow because it is override redirect.\n",
|
||||||
|
(guint)priv->xwindow);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Don't put shadow around DND icon windows
|
* Don't put shadow around DND icon windows
|
||||||
*/
|
*/
|
||||||
if (priv->type == META_COMP_WINDOW_DND ||
|
if (priv->type == META_COMP_WINDOW_DND ||
|
||||||
priv->type == META_COMP_WINDOW_DESKTOP)
|
priv->type == META_COMP_WINDOW_DESKTOP)
|
||||||
{
|
{
|
||||||
meta_verbose ("Window has no shadow as it is DND or Desktop\n");
|
meta_verbose ("Window 0x%x has no shadow as it is DND or Desktop\n",
|
||||||
|
(guint)priv->xwindow);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -678,19 +684,22 @@ meta_comp_window_has_shadow (MetaCompWindow *self)
|
|||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
meta_verbose ("Window has shadow as it is a menu\n");
|
meta_verbose ("Window 0x%x has shadow as it is a menu\n",
|
||||||
|
(guint)priv->xwindow);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
if (priv->type == META_COMP_WINDOW_TOOLTIP)
|
if (priv->type == META_COMP_WINDOW_TOOLTIP)
|
||||||
{
|
{
|
||||||
meta_verbose ("Window has shadow as it is a tooltip\n");
|
meta_verbose ("Window 0x%x has shadow as it is a tooltip\n",
|
||||||
|
(guint)priv->xwindow);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
meta_verbose ("Window has no shadow as it fell through\n");
|
meta_verbose ("Window 0x%x has no shadow as it fell through\n",
|
||||||
|
(guint)priv->xwindow);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user