summaryrefslogtreecommitdiff
path: root/libwnck/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'libwnck/window.c')
-rw-r--r--libwnck/window.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libwnck/window.c b/libwnck/window.c
index 229b4cb..6e23d01 100644
--- a/libwnck/window.c
+++ b/libwnck/window.c
@@ -72,6 +72,7 @@ struct _WnckWindowPrivate
WnckScreen *screen;
WnckApplication *app;
WnckClassGroup *class_group;
+ gboolean has_group_leader;
Window group_leader;
Window transient_for;
int orig_event_mask;
@@ -504,6 +505,7 @@ _wnck_window_create (Window xwindow,
/* Default the group leader to the window itself; it is set in
* update_wmhints() if a different group leader is specified.
*/
+ window->priv->has_group_leader = FALSE;
window->priv->group_leader = window->priv->xwindow;
window->priv->session_id =
@@ -767,6 +769,12 @@ wnck_window_get_group_leader (WnckWindow *window)
return window->priv->group_leader;
}
+gboolean
+_wnck_window_get_has_group_leader (WnckWindow *window)
+{
+ return window->priv->has_group_leader;
+}
+
/**
* wnck_window_get_xid:
* @window: a #WnckWindow.
@@ -3188,7 +3196,10 @@ update_wmhints (WnckWindow *window)
_wnck_atom_get ("WM_HINTS"));
if (hints->flags & WindowGroupHint)
+ {
+ window->priv->group_leader = TRUE;
window->priv->group_leader = hints->window_group;
+ }
if (hints->flags & XUrgencyHint)
{