[mutter/wip/xwayland-on-demand: 14/32] Move mouse window tracking to MetaDisplay



commit 773aab96bf232fdd3de0dfa387a5c013e73e0557
Author: Armin Krezović <krezovic armin gmail com>
Date:   Sat Aug 26 21:35:28 2017 +0200

    Move mouse window tracking to MetaDisplay

 src/core/display-private.h |    3 +++
 src/core/display.c         |   23 +++++++++++++++++++++++
 src/core/screen-private.h  |    3 ---
 src/core/screen.c          |   23 -----------------------
 src/core/workspace.c       |    2 +-
 5 files changed, 27 insertions(+), 27 deletions(-)
---
diff --git a/src/core/display-private.h b/src/core/display-private.h
index 0633538..eac8183 100644
--- a/src/core/display-private.h
+++ b/src/core/display-private.h
@@ -430,4 +430,7 @@ gboolean meta_display_apply_startup_properties (MetaDisplay *display,
 void meta_display_queue_workarea_recalc  (MetaDisplay *display);
 void meta_display_queue_check_fullscreen (MetaDisplay *display);
 
+MetaWindow *meta_display_get_pointer_window (MetaDisplay *display,
+                                             MetaWindow  *not_this_one);
+
 #endif
diff --git a/src/core/display.c b/src/core/display.c
index 86ebeca..a22bad7 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -3580,3 +3580,26 @@ meta_display_get_monitor_in_fullscreen (MetaDisplay *display,
   /* We use -1 as a flag to mean "not known yet" for notification
   purposes */ return logical_monitor->in_fullscreen == TRUE;
 }
+
+MetaWindow *
+meta_display_get_pointer_window (MetaDisplay *display,
+                                 MetaWindow  *not_this_one)
+{
+  MetaBackend *backend = meta_get_backend ();
+  MetaCursorTracker *cursor_tracker = meta_backend_get_cursor_tracker (backend);
+  MetaWindow *window;
+  int x, y;
+
+  if (not_this_one)
+    meta_topic (META_DEBUG_FOCUS,
+                "Focusing mouse window excluding %s\n", not_this_one->desc);
+
+  meta_cursor_tracker_get_pointer (cursor_tracker, &x, &y, NULL);
+
+  window = meta_stack_get_default_focus_window_at_point (display->stack,
+                                                         display->screen->active_workspace,
+                                                         not_this_one,
+                                                         x, y);
+
+  return window;
+}
diff --git a/src/core/screen-private.h b/src/core/screen-private.h
index 941baa4..f4ee639 100644
--- a/src/core/screen-private.h
+++ b/src/core/screen-private.h
@@ -74,9 +74,6 @@ void          meta_screen_free                (MetaScreen                 *scree
 void          meta_screen_init_workspaces     (MetaScreen                 *screen);
 void          meta_screen_manage_all_windows  (MetaScreen                 *screen);
 
-MetaWindow*   meta_screen_get_mouse_window     (MetaScreen                 *screen,
-                                                MetaWindow                 *not_this_one);
-
 void          meta_screen_update_workspace_layout (MetaScreen             *screen);
 void          meta_screen_update_workspace_names  (MetaScreen             *screen);
 
diff --git a/src/core/screen.c b/src/core/screen.c
index f25bf76..73e1263 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -595,29 +595,6 @@ update_num_workspaces (MetaScreen *screen,
   g_object_notify (G_OBJECT (screen), "n-workspaces");
 }
 
-MetaWindow*
-meta_screen_get_mouse_window (MetaScreen  *screen,
-                              MetaWindow  *not_this_one)
-{
-  MetaBackend *backend = meta_get_backend ();
-  MetaCursorTracker *cursor_tracker = meta_backend_get_cursor_tracker (backend);
-  MetaWindow *window;
-  int x, y;
-
-  if (not_this_one)
-    meta_topic (META_DEBUG_FOCUS,
-                "Focusing mouse window excluding %s\n", not_this_one->desc);
-
-  meta_cursor_tracker_get_pointer (cursor_tracker, &x, &y, NULL);
-
-  window = meta_stack_get_default_focus_window_at_point (screen->display->stack,
-                                                         screen->active_workspace,
-                                                         not_this_one,
-                                                         x, y);
-
-  return window;
-}
-
 #define _NET_WM_ORIENTATION_HORZ 0
 #define _NET_WM_ORIENTATION_VERT 1
 
diff --git a/src/core/workspace.c b/src/core/workspace.c
index c294b53..2793108 100644
--- a/src/core/workspace.c
+++ b/src/core/workspace.c
@@ -1270,7 +1270,7 @@ meta_workspace_focus_default_window (MetaWorkspace *workspace,
   else
     {
       MetaWindow * window;
-      window = meta_screen_get_mouse_window (workspace->screen, not_this_one);
+      window = meta_display_get_pointer_window (workspace->screen->display, not_this_one);
       if (window &&
           window->type != META_WINDOW_DOCK &&
           window->type != META_WINDOW_DESKTOP)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]