[metacity] constraints: Center modal dialogs on their parent
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [metacity] constraints: Center modal dialogs on their parent
- Date: Thu, 2 Mar 2017 22:16:19 +0000 (UTC)
commit 0e991a4eeeb953d2fb5f3ee15be11bff76903a6a
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 | 11 +----------
src/core/window.c | 9 ++++++---
2 files changed, 7 insertions(+), 13 deletions(-)
---
diff --git a/src/core/constraints.c b/src/core/constraints.c
index ec80988..db4e8d6 100644
--- a/src/core/constraints.c
+++ b/src/core/constraints.c
@@ -828,21 +828,12 @@ 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 1ea8cd6..748b1d1 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -7664,12 +7664,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]