[mutter] constraints: Center modal dialogs on their parent
- From: Florian MÃllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] constraints: Center modal dialogs on their parent
- Date: Sat, 14 Jul 2012 01:31:41 +0000 (UTC)
commit 0fe0534c85a839f381367a75683c92095801d06e
Author: Florian MÃllner <fmuellner gnome org>
Date: Tue Jul 3 22:30:02 2012 +0200
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
src/core/constraints.c | 9 +--------
src/core/window.c | 9 ++++++---
2 files changed, 7 insertions(+), 11 deletions(-)
---
diff --git a/src/core/constraints.c b/src/core/constraints.c
index d555ec9..eb14647 100644
--- a/src/core/constraints.c
+++ b/src/core/constraints.c
@@ -764,21 +764,14 @@ constrain_modal_dialog (MetaWindow *window,
return TRUE;
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)
{
MetaFrameBorders borders;
x += parent->frame->rect.x;
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);
diff --git a/src/core/window.c b/src/core/window.c
index bc119a2..c11720b 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -8917,12 +8917,15 @@ update_resize (MetaWindow *window,
dx = x - window->display->grab_anchor_root_x;
dy = y - window->display->grab_anchor_root_y;
- /* Attached modal dialogs are special in that horizontal
- * size changes apply to both sides, so that the dialog
+ /* Attached modal dialogs are special in that size
+ * changes apply to both sides, so that the dialog
* remains centered to the parent.
*/
if (meta_window_is_attached_dialog (window))
- dx *= 2;
+ {
+ dx *= 2;
+ dy *= 2;
+ }
new_w = window->display->grab_anchor_window_pos.width;
new_h = window->display->grab_anchor_window_pos.height;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]