[mutter] core/place: Use work area when centering new window.
- From: verdre <jonasd src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] core/place: Use work area when centering new window.
- Date: Sat, 9 May 2020 10:14:21 +0000 (UTC)
commit 6f62c5b57546c11a55d5e85b34234d3393e35757
Author: Akatsuki <28203-akiirui users noreply gitlab gnome org>
Date: Sat Dec 7 23:33:53 2019 +0800
core/place: Use work area when centering new window.
use the workarea instead of the logical monitor
Closes https://gitlab.gnome.org/GNOME/mutter/-/issues/964
src/core/place.c | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
---
diff --git a/src/core/place.c b/src/core/place.c
index 237f7590b..de09e15eb 100644
--- a/src/core/place.c
+++ b/src/core/place.c
@@ -802,22 +802,19 @@ meta_window_place (MetaWindow *window,
if (window_place_centered (window))
{
/* Center on current monitor */
- int w, h;
+ MetaRectangle work_area;
MetaRectangle frame_rect;
- meta_window_get_frame_rect (window, &frame_rect);
-
/* Warning, this function is a round trip! */
logical_monitor = meta_backend_get_current_logical_monitor (backend);
- w = logical_monitor->rect.width;
- h = logical_monitor->rect.height;
-
- x = (w - frame_rect.width) / 2;
- y = (h - frame_rect.height) / 2;
+ meta_window_get_work_area_for_logical_monitor (window,
+ logical_monitor,
+ &work_area);
+ meta_window_get_frame_rect (window, &frame_rect);
- x += logical_monitor->rect.x;
- y += logical_monitor->rect.y;
+ x = work_area.x + (work_area.width - frame_rect.width) / 2;
+ y = work_area.y + (work_area.height - frame_rect.height) / 2;
meta_topic (META_DEBUG_PLACEMENT, "Centered window %s on monitor %d\n",
window->desc, logical_monitor->number);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]