diff options
Diffstat (limited to 'openbox/stacking.c')
| -rw-r--r-- | openbox/stacking.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/openbox/stacking.c b/openbox/stacking.c index 6b3c955a..4d581966 100644 --- a/openbox/stacking.c +++ b/openbox/stacking.c @@ -24,6 +24,7 @@ #include "group.h" #include "frame.h" #include "window.h" +#include "event.h" #include "debug.h" #include "obt/prop.h" @@ -114,6 +115,7 @@ void stacking_temp_raise(ObWindow *window) { 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); @@ -129,7 +131,9 @@ void stacking_temp_raise(ObWindow *window) } win[1] = window_top(window); + start = event_start_ignore_all_enters(); XRestackWindows(obt_display, win, 2); + event_end_ignore_all_enters(start); pause_changes = TRUE; } @@ -139,12 +143,15 @@ void stacking_restore(void) 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(obt_display, win, i); + event_end_ignore_all_enters(start); g_free(win); pause_changes = FALSE; |
