1
0
Fork 0

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:
Florian Müllner 2012-07-03 22:30:02 +02:00
parent fe942049da
commit 0fe0534c85
2 changed files with 7 additions and 11 deletions

View file

@ -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);

View file

@ -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;