X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fstacking.c;h=afd890a4825dd3878f52c2b733d9b45bc284dc0c;hb=173f05616b7f033881a633adbda5bf3310034338;hp=0c7e38fd7140e5da68f5bf657d39e57a627b725e;hpb=571b09f999585c66e9781877c94807f663c2bd4c;p=chaz%2Fopenbox diff --git a/openbox/stacking.c b/openbox/stacking.c index 0c7e38fd..afd890a4 100644 --- a/openbox/stacking.c +++ b/openbox/stacking.c @@ -179,6 +179,11 @@ static void restack_windows(ObClient *selected, gboolean raise) /* that is, if it has any parents */ if (!(top->data == selected && top->next == NULL)) { + /* place the window being lowered on the bottom so it'll be + below any of its peers that it can */ + stacking_list = g_list_remove(stacking_list, selected); + stacking_list = g_list_append(stacking_list, selected); + /* go thru stacking list backwards so we can use g_slist_prepend */ for (it = g_list_last(stacking_list); it && top; it = g_list_previous(it)) @@ -233,7 +238,7 @@ static void restack_windows(ObClient *selected, gboolean raise) wins = g_list_append(wins, selected); /* if selected window is transient for group then raise it above others */ - if (selected->transient_for == OB_TRAN_GROUP) { + if (selected->transient_for_group) { /* if it's modal, raise it above those also */ if (selected->modal) { wins = g_list_concat(wins, group_modals);