X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fstacking.c;h=afd890a4825dd3878f52c2b733d9b45bc284dc0c;hb=4669203fd8f7dc2ac4aef40ba1a2ce4be404b00b;hp=4b01f45dbde00c159fc17cb7e7e7d40c5972b91e;hpb=94140a4b359d5e570a8a886dc359d64f5fcaaf86;p=chaz%2Fopenbox diff --git a/openbox/stacking.c b/openbox/stacking.c index 4b01f45d..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))