#include "group.h"
#include "frame.h"
#include "window.h"
+#include "event.h"
#include "debug.h"
GList *stacking_list = NULL;
{
Window win[2];
GList *it;
+ gulong start;
/* don't use this for internal windows..! it would lower them.. */
g_assert(window_layer(window) < OB_STACKING_LAYER_INTERNAL);
}
win[1] = window_top(window);
+ start = event_start_ignore_all_enters();
XRestackWindows(ob_display, win, 2);
+ event_end_ignore_all_enters(start);
pause_changes = TRUE;
}
Window *win;
GList *it;
gint i;
+ gulong start;
win = g_new(Window, g_list_length(stacking_list) + 1);
win[0] = screen_support_win;
for (i = 1, it = stacking_list; it; ++i, it = g_list_next(it))
win[i] = window_top(it->data);
+ start = event_start_ignore_all_enters();
XRestackWindows(ob_display, win, i);
+ event_end_ignore_all_enters(start);
g_free(win);
pause_changes = FALSE;
GList *modals = NULL;
GList *trans = NULL;
+ if (raise) {
+ ObClient *p;
+
+ /* if a window is modal for another single window, then raise it to the
+ top too, the same is done with the focus order */
+ while (selected->modal && (p = client_direct_parent(selected)))
+ selected = p;
+ }
+
/* remove first so we can't run into ourself */
it = g_list_find(stacking_list, selected);
g_assert(it);