freeze onscreen stacking order changes while a temp raise for focus cycling is occuring
This commit is contained in:
parent
22c102572e
commit
e61f58462f
1 changed files with 10 additions and 1 deletions
|
@ -28,6 +28,10 @@
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
|
||||||
GList *stacking_list = NULL;
|
GList *stacking_list = NULL;
|
||||||
|
/*! When true, stacking changes will not be reflected on the screen. This is
|
||||||
|
to freeze the on-screen stacking order while a window is being temporarily
|
||||||
|
raised during focus cycling */
|
||||||
|
gboolean pause_changes = FALSE;
|
||||||
|
|
||||||
void stacking_set_list(void)
|
void stacking_set_list(void)
|
||||||
{
|
{
|
||||||
|
@ -99,7 +103,8 @@ static void do_restack(GList *wins, GList *before)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
XRestackWindows(ob_display, win, i);
|
if (!pause_changes)
|
||||||
|
XRestackWindows(ob_display, win, i);
|
||||||
g_free(win);
|
g_free(win);
|
||||||
|
|
||||||
stacking_set_list();
|
stacking_set_list();
|
||||||
|
@ -125,6 +130,8 @@ void stacking_temp_raise(ObWindow *window)
|
||||||
|
|
||||||
win[1] = window_top(window);
|
win[1] = window_top(window);
|
||||||
XRestackWindows(ob_display, win, 2);
|
XRestackWindows(ob_display, win, 2);
|
||||||
|
|
||||||
|
pause_changes = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void stacking_restore()
|
void stacking_restore()
|
||||||
|
@ -139,6 +146,8 @@ void stacking_restore()
|
||||||
win[i] = window_top(it->data);
|
win[i] = window_top(it->data);
|
||||||
XRestackWindows(ob_display, win, i);
|
XRestackWindows(ob_display, win, i);
|
||||||
g_free(win);
|
g_free(win);
|
||||||
|
|
||||||
|
pause_changes = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void do_raise(GList *wins)
|
static void do_raise(GList *wins)
|
||||||
|
|
Loading…
Reference in a new issue