summaryrefslogtreecommitdiff
path: root/src/metacity.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/metacity.c')
-rw-r--r--src/metacity.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/metacity.c b/src/metacity.c
index dd8d6c1..2095619 100644
--- a/src/metacity.c
+++ b/src/metacity.c
@@ -484,6 +484,28 @@ meta_get_decoration_geometry (decor_t *d,
if (d->active)
*flags |= (MetaFrameFlags ) META_FRAME_HAS_FOCUS;
+ else if (g_slist_length (d->transient_windows) > 1)
+ {
+ GSList *transient_windows = d->transient_windows;
+
+ for (; transient_windows;
+ transient_windows = transient_windows->next)
+ {
+ if (!transient_windows->data)
+ continue;
+
+ decor_t *d_transient = g_object_get_data (transient_windows->data, "decor");
+
+ if (d_transient)
+ {
+ if (d_transient->active)
+ {
+ *flags |= (MetaFrameFlags ) META_FRAME_HAS_FOCUS;
+ break;
+ }
+ }
+ }
+ }
if ((d->state & META_MAXIMIZED) == META_MAXIMIZED)
*flags |= (MetaFrameFlags ) META_FRAME_MAXIMIZED;