constraints: Center modal dialogs on their parent
... rather than attaching them to the parent's title bar. https://bugzilla.gnome.org/show_bug.cgi?id=674499
This commit is contained in:
parent
fe942049da
commit
0fe0534c85
2 changed files with 7 additions and 11 deletions
|
@ -764,21 +764,14 @@ constrain_modal_dialog (MetaWindow *window,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
x = parent->rect.x + (parent->rect.width / 2 - info->current.width / 2);
|
x = parent->rect.x + (parent->rect.width / 2 - info->current.width / 2);
|
||||||
y = 0;
|
y = parent->rect.y + (parent->rect.height / 2 - info->current.height / 2);
|
||||||
if (parent->frame)
|
if (parent->frame)
|
||||||
{
|
{
|
||||||
MetaFrameBorders borders;
|
MetaFrameBorders borders;
|
||||||
|
|
||||||
x += parent->frame->rect.x;
|
x += parent->frame->rect.x;
|
||||||
y += parent->frame->rect.y;
|
y += parent->frame->rect.y;
|
||||||
|
|
||||||
meta_frame_calc_borders (parent->frame, &borders);
|
|
||||||
y += borders.total.top;
|
|
||||||
|
|
||||||
y += info->borders->visible.top;
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
y = parent->rect.y + info->borders->visible.top;
|
|
||||||
|
|
||||||
constraint_already_satisfied = (x == info->current.x) && (y == info->current.y);
|
constraint_already_satisfied = (x == info->current.x) && (y == info->current.y);
|
||||||
|
|
||||||
|
|
|
@ -8917,12 +8917,15 @@ update_resize (MetaWindow *window,
|
||||||
dx = x - window->display->grab_anchor_root_x;
|
dx = x - window->display->grab_anchor_root_x;
|
||||||
dy = y - window->display->grab_anchor_root_y;
|
dy = y - window->display->grab_anchor_root_y;
|
||||||
|
|
||||||
/* Attached modal dialogs are special in that horizontal
|
/* Attached modal dialogs are special in that size
|
||||||
* size changes apply to both sides, so that the dialog
|
* changes apply to both sides, so that the dialog
|
||||||
* remains centered to the parent.
|
* remains centered to the parent.
|
||||||
*/
|
*/
|
||||||
if (meta_window_is_attached_dialog (window))
|
if (meta_window_is_attached_dialog (window))
|
||||||
dx *= 2;
|
{
|
||||||
|
dx *= 2;
|
||||||
|
dy *= 2;
|
||||||
|
}
|
||||||
|
|
||||||
new_w = window->display->grab_anchor_window_pos.width;
|
new_w = window->display->grab_anchor_window_pos.width;
|
||||||
new_h = window->display->grab_anchor_window_pos.height;
|
new_h = window->display->grab_anchor_window_pos.height;
|
||||||
|
|
Loading…
Reference in a new issue