x11/window: Implement _NET_RESTACK_WINDOW and XConfigureRequestEvent sibling
Implement _NET_RESTACK_WINDOW, based on metacity commit 0b5a50c8. Also respect "above" field (sibling) of XConfigureRequestEvent. When it is set, perform a stack operation relative to that sibling. https://bugzilla.gnome.org/show_bug.cgi?id=786363 https://bugzilla.gnome.org/show_bug.cgi?id=786365
This commit is contained in:

committed by
Rui Matos

parent
2c85bb4178
commit
e3d59832c5
@ -682,6 +682,9 @@ void meta_window_frame_size_changed (MetaWindow *window);
|
||||
void meta_window_stack_just_below (MetaWindow *window,
|
||||
MetaWindow *below_this_one);
|
||||
|
||||
void meta_window_stack_just_above (MetaWindow *window,
|
||||
MetaWindow *above_this_one);
|
||||
|
||||
void meta_window_set_user_time (MetaWindow *window,
|
||||
guint32 timestamp);
|
||||
|
||||
|
@ -6728,6 +6728,30 @@ meta_window_stack_just_below (MetaWindow *window,
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
meta_window_stack_just_above (MetaWindow *window,
|
||||
MetaWindow *above_this_one)
|
||||
{
|
||||
g_return_if_fail (window != NULL);
|
||||
g_return_if_fail (above_this_one != NULL);
|
||||
|
||||
if (window->stack_position < above_this_one->stack_position)
|
||||
{
|
||||
meta_topic (META_DEBUG_STACK,
|
||||
"Setting stack position of window %s to %d (making it above window %s).\n",
|
||||
window->desc,
|
||||
above_this_one->stack_position,
|
||||
above_this_one->desc);
|
||||
meta_window_set_stack_position (window, above_this_one->stack_position);
|
||||
}
|
||||
else
|
||||
{
|
||||
meta_topic (META_DEBUG_STACK,
|
||||
"Window %s was already above window %s.\n",
|
||||
window->desc, above_this_one->desc);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_window_get_user_time:
|
||||
* @window: a #MetaWindow
|
||||
|
Reference in New Issue
Block a user