[mutter/wip/xwayland-on-demand: 12/32] Move MetaScreen monitor API to MetaDisplay
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/xwayland-on-demand: 12/32] Move MetaScreen monitor API to MetaDisplay
- Date: Mon, 28 Aug 2017 02:52:42 +0000 (UTC)
commit 383f2ed815563aebd384f186c341d7f76ee34a59
Author: Armin Krezović <krezovic armin gmail com>
Date: Sat Aug 26 21:22:34 2017 +0200
Move MetaScreen monitor API to MetaDisplay
src/backends/meta-logical-monitor.c | 14 +-
src/backends/meta-logical-monitor.h | 6 +-
src/backends/meta-monitor-manager-private.h | 6 +-
src/backends/meta-monitor-manager.c | 6 +-
src/backends/native/meta-backend-native.c | 18 ++--
src/compositor/meta-background-actor.c | 5 +-
src/compositor/meta-background.c | 6 +-
src/compositor/plugins/default.c | 4 +-
src/core/display.c | 178 ++++++++++++++++++++++++++-
src/core/keybindings.c | 8 +-
src/core/screen.c | 174 --------------------------
src/core/window.c | 4 +-
src/core/workspace.c | 8 +-
src/meta/display.h | 33 +++++
src/meta/screen.h | 32 -----
src/x11/window-x11.c | 2 +-
16 files changed, 255 insertions(+), 249 deletions(-)
---
diff --git a/src/backends/meta-logical-monitor.c b/src/backends/meta-logical-monitor.c
index 2404d23..eefbc9d 100644
--- a/src/backends/meta-logical-monitor.c
+++ b/src/backends/meta-logical-monitor.c
@@ -210,34 +210,34 @@ meta_logical_monitor_class_init (MetaLogicalMonitorClass *klass)
}
gboolean
-meta_logical_monitor_has_neighbor (MetaLogicalMonitor *logical_monitor,
- MetaLogicalMonitor *neighbor,
- MetaScreenDirection neighbor_direction)
+meta_logical_monitor_has_neighbor (MetaLogicalMonitor *logical_monitor,
+ MetaLogicalMonitor *neighbor,
+ MetaDisplayDirection neighbor_direction)
{
switch (neighbor_direction)
{
- case META_SCREEN_RIGHT:
+ case META_DISPLAY_RIGHT:
if (neighbor->rect.x == (logical_monitor->rect.x +
logical_monitor->rect.width) &&
meta_rectangle_vert_overlap (&neighbor->rect,
&logical_monitor->rect))
return TRUE;
break;
- case META_SCREEN_LEFT:
+ case META_DISPLAY_LEFT:
if (logical_monitor->rect.x == (neighbor->rect.x +
neighbor->rect.width) &&
meta_rectangle_vert_overlap (&neighbor->rect,
&logical_monitor->rect))
return TRUE;
break;
- case META_SCREEN_UP:
+ case META_DISPLAY_UP:
if (logical_monitor->rect.y == (neighbor->rect.y +
neighbor->rect.height) &&
meta_rectangle_horiz_overlap (&neighbor->rect,
&logical_monitor->rect))
return TRUE;
break;
- case META_SCREEN_DOWN:
+ case META_DISPLAY_DOWN:
if (neighbor->rect.y == (logical_monitor->rect.y +
logical_monitor->rect.height) &&
meta_rectangle_horiz_overlap (&neighbor->rect,
diff --git a/src/backends/meta-logical-monitor.h b/src/backends/meta-logical-monitor.h
index 6068700..fc28f55 100644
--- a/src/backends/meta-logical-monitor.h
+++ b/src/backends/meta-logical-monitor.h
@@ -86,8 +86,8 @@ MetaRectangle meta_logical_monitor_get_layout (MetaLogicalMonitor *logical_monit
GList * meta_logical_monitor_get_monitors (MetaLogicalMonitor *logical_monitor);
-gboolean meta_logical_monitor_has_neighbor (MetaLogicalMonitor *logical_monitor,
- MetaLogicalMonitor *neighbor,
- MetaScreenDirection neighbor_dir);
+gboolean meta_logical_monitor_has_neighbor (MetaLogicalMonitor *logical_monitor,
+ MetaLogicalMonitor *neighbor,
+ MetaDisplayDirection neighbor_dir);
#endif /* META_LOGICAL_MONITOR_H */
diff --git a/src/backends/meta-monitor-manager-private.h b/src/backends/meta-monitor-manager-private.h
index 4d079be..60115c0 100644
--- a/src/backends/meta-monitor-manager-private.h
+++ b/src/backends/meta-monitor-manager-private.h
@@ -438,9 +438,9 @@ MetaLogicalMonitor *meta_monitor_manager_get_logical_monitor_at (MetaMonitorMana
MetaLogicalMonitor *meta_monitor_manager_get_logical_monitor_from_rect (MetaMonitorManager *manager,
MetaRectangle *rect);
-MetaLogicalMonitor *meta_monitor_manager_get_logical_monitor_neighbor (MetaMonitorManager *manager,
- MetaLogicalMonitor *logical_monitor,
- MetaScreenDirection direction);
+MetaLogicalMonitor *meta_monitor_manager_get_logical_monitor_neighbor (MetaMonitorManager *manager,
+ MetaLogicalMonitor *logical_monitor,
+ MetaDisplayDirection direction);
MetaMonitor * meta_monitor_manager_get_primary_monitor (MetaMonitorManager *manager);
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
index 253b83a..95b9158 100644
--- a/src/backends/meta-monitor-manager.c
+++ b/src/backends/meta-monitor-manager.c
@@ -2391,9 +2391,9 @@ meta_monitor_manager_get_logical_monitor_from_rect (MetaMonitorManager *manager,
}
MetaLogicalMonitor *
-meta_monitor_manager_get_logical_monitor_neighbor (MetaMonitorManager *manager,
- MetaLogicalMonitor *logical_monitor,
- MetaScreenDirection direction)
+meta_monitor_manager_get_logical_monitor_neighbor (MetaMonitorManager *manager,
+ MetaLogicalMonitor *logical_monitor,
+ MetaDisplayDirection direction)
{
GList *l;
diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c
index 7a5c2b6..9b3aec1 100644
--- a/src/backends/native/meta-backend-native.c
+++ b/src/backends/native/meta-backend-native.c
@@ -268,7 +268,7 @@ relative_motion_across_outputs (MetaMonitorManager *monitor_manager,
MetaLogicalMonitor *cur = current;
float x = cur_x, y = cur_y;
float dx = *dx_inout, dy = *dy_inout;
- MetaScreenDirection direction = -1;
+ MetaDisplayDirection direction = -1;
while (cur)
{
@@ -296,18 +296,18 @@ relative_motion_across_outputs (MetaMonitorManager *monitor_manager,
{ cur->rect.x + cur->rect.width, cur->rect.y + cur->rect.height }
};
- if (direction != META_SCREEN_RIGHT &&
+ if (direction != META_DISPLAY_RIGHT &&
meta_line2_intersects_with (&motion, &left, &intersection))
- direction = META_SCREEN_LEFT;
- else if (direction != META_SCREEN_LEFT &&
+ direction = META_DISPLAY_LEFT;
+ else if (direction != META_DISPLAY_LEFT &&
meta_line2_intersects_with (&motion, &right, &intersection))
- direction = META_SCREEN_RIGHT;
- else if (direction != META_SCREEN_DOWN &&
+ direction = META_DISPLAY_RIGHT;
+ else if (direction != META_DISPLAY_DOWN &&
meta_line2_intersects_with (&motion, &top, &intersection))
- direction = META_SCREEN_UP;
- else if (direction != META_SCREEN_UP &&
+ direction = META_DISPLAY_UP;
+ else if (direction != META_DISPLAY_UP &&
meta_line2_intersects_with (&motion, &bottom, &intersection))
- direction = META_SCREEN_DOWN;
+ direction = META_DISPLAY_DOWN;
else
{
/* We reached the dest logical monitor */
diff --git a/src/compositor/meta-background-actor.c b/src/compositor/meta-background-actor.c
index 4dc5806..6edb6e2 100644
--- a/src/compositor/meta-background-actor.c
+++ b/src/compositor/meta-background-actor.c
@@ -82,6 +82,7 @@
#include "meta-background-actor-private.h"
#include "meta-background-private.h"
#include "meta-cullable.h"
+#include "meta/display.h"
enum
{
@@ -186,7 +187,9 @@ get_preferred_size (MetaBackgroundActor *self,
MetaBackgroundActorPrivate *priv = META_BACKGROUND_ACTOR (self)->priv;
MetaRectangle monitor_geometry;
- meta_screen_get_monitor_geometry (priv->screen, priv->monitor, &monitor_geometry);
+ meta_display_get_monitor_geometry (meta_screen_get_display (priv->screen),
+ priv->monitor,
+ &monitor_geometry);
if (width != NULL)
*width = monitor_geometry.width;
diff --git a/src/compositor/meta-background.c b/src/compositor/meta-background.c
index 8cf2dde..56ee64d 100644
--- a/src/compositor/meta-background.c
+++ b/src/compositor/meta-background.c
@@ -148,7 +148,7 @@ on_monitors_changed (MetaDisplay *display,
{
int i;
- priv->n_monitors = meta_screen_get_n_monitors (screen);
+ priv->n_monitors = meta_display_get_n_monitors (meta_screen_get_display (screen));
priv->monitors = g_new0 (MetaBackgroundMonitor, priv->n_monitors);
for (i = 0; i < priv->n_monitors; i++)
@@ -758,7 +758,9 @@ meta_background_get_texture (MetaBackground *self,
monitor = &priv->monitors[monitor_index];
- meta_screen_get_monitor_geometry (priv->screen, monitor_index, &geometry);
+ meta_display_get_monitor_geometry (meta_screen_get_display (priv->screen),
+ monitor_index,
+ &geometry);
monitor_area.x = geometry.x;
monitor_area.y = geometry.y;
monitor_area.width = geometry.width;
diff --git a/src/compositor/plugins/default.c b/src/compositor/plugins/default.c
index 5e72736..9e45bd6 100644
--- a/src/compositor/plugins/default.c
+++ b/src/compositor/plugins/default.c
@@ -332,7 +332,7 @@ on_monitors_changed (MetaDisplay *display,
clutter_actor_destroy_all_children (self->priv->background_group);
- n = meta_screen_get_n_monitors (screen);
+ n = meta_display_get_n_monitors (meta_screen_get_display (screen));
for (i = 0; i < n; i++)
{
MetaRectangle rect;
@@ -340,7 +340,7 @@ on_monitors_changed (MetaDisplay *display,
MetaBackground *background;
ClutterColor color;
- meta_screen_get_monitor_geometry (screen, i, &rect);
+ meta_display_get_monitor_geometry (meta_screen_get_display (screen), i, &rect);
background_actor = meta_background_actor_new (screen, i);
diff --git a/src/core/display.c b/src/core/display.c
index b06c1f0..86ebeca 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -2878,8 +2878,8 @@ lookup_tablet_monitor (MetaDisplay *display,
if (monitor)
{
- monitor_idx = meta_screen_get_monitor_index_for_rect (display->screen,
- &monitor->rect);
+ monitor_idx = meta_display_get_monitor_index_for_rect (display,
+ &monitor->rect);
}
return monitor_idx;
@@ -3406,3 +3406,177 @@ meta_display_queue_check_fullscreen (MetaDisplay *display)
check_fullscreen_func,
display, NULL);
}
+
+int
+meta_display_get_monitor_index_for_rect (MetaDisplay *display,
+ MetaRectangle *rect)
+{
+ MetaBackend *backend = meta_get_backend ();
+ MetaMonitorManager *monitor_manager =
+ meta_backend_get_monitor_manager (backend);
+ MetaLogicalMonitor *logical_monitor;
+
+ logical_monitor =
+ meta_monitor_manager_get_logical_monitor_from_rect (monitor_manager, rect);
+ return logical_monitor->number;
+}
+
+int
+meta_display_get_monitor_neighbor_index (MetaDisplay *display,
+ int which_monitor,
+ MetaDisplayDirection direction)
+{
+ MetaBackend *backend = meta_get_backend ();
+ MetaMonitorManager *monitor_manager =
+ meta_backend_get_monitor_manager (backend);
+ MetaLogicalMonitor *logical_monitor;
+ MetaLogicalMonitor *neighbor;
+
+ logical_monitor =
+ meta_monitor_manager_get_logical_monitor_from_number (monitor_manager,
+ which_monitor);
+ neighbor = meta_monitor_manager_get_logical_monitor_neighbor (monitor_manager,
+ logical_monitor,
+ direction);
+ return neighbor ? neighbor->number : -1;
+}
+
+/**
+ * meta_display_get_current_monitor:
+ * @display: a #MetaDisplay
+ *
+ * Gets the index of the monitor that currently has the mouse pointer.
+ *
+ * Return value: a monitor index
+ */
+int
+meta_display_get_current_monitor (MetaDisplay *display)
+{
+ MetaBackend *backend = meta_get_backend ();
+ MetaLogicalMonitor *logical_monitor;
+
+ logical_monitor = meta_backend_get_current_logical_monitor (backend);
+
+ /* Pretend its the first when there is no actual current monitor. */
+ if (!logical_monitor)
+ return 0;
+
+ return logical_monitor->number;
+}
+
+/**
+ * meta_display_get_n_monitors:
+ * @display: a #MetaDisplay
+ *
+ * Gets the number of monitors that are joined together to form @display.
+ *
+ * Return value: the number of monitors
+ */
+int
+meta_display_get_n_monitors (MetaDisplay *display)
+{
+ MetaBackend *backend = meta_get_backend ();
+ MetaMonitorManager *monitor_manager =
+ meta_backend_get_monitor_manager (backend);
+
+ g_return_val_if_fail (META_IS_DISPLAY (display), 0);
+
+ return meta_monitor_manager_get_num_logical_monitors (monitor_manager);
+}
+
+/**
+ * meta_display_get_primary_monitor:
+ * @display: a #MetaDisplay
+ *
+ * Gets the index of the primary monitor on this @display.
+ *
+ * Return value: a monitor index
+ */
+int
+meta_display_get_primary_monitor (MetaDisplay *display)
+{
+ MetaBackend *backend = meta_get_backend ();
+ MetaMonitorManager *monitor_manager =
+ meta_backend_get_monitor_manager (backend);
+ MetaLogicalMonitor *logical_monitor;
+
+ g_return_val_if_fail (META_IS_DISPLAY (display), 0);
+
+ logical_monitor =
+ meta_monitor_manager_get_primary_logical_monitor (monitor_manager);
+ if (logical_monitor)
+ return logical_monitor->number;
+ else
+ return 0;
+}
+
+/**
+ * meta_display_get_monitor_geometry:
+ * @display: a #MetaDisplay
+ * @monitor: the monitor number
+ * @geometry: (out): location to store the monitor geometry
+ *
+ * Stores the location and size of the indicated monitor in @geometry.
+ */
+void
+meta_display_get_monitor_geometry (MetaDisplay *display,
+ int monitor,
+ MetaRectangle *geometry)
+{
+ MetaBackend *backend = meta_get_backend ();
+ MetaMonitorManager *monitor_manager =
+ meta_backend_get_monitor_manager (backend);
+ MetaLogicalMonitor *logical_monitor;
+#ifndef G_DISABLE_CHECKS
+ int n_logical_monitors =
+ meta_monitor_manager_get_num_logical_monitors (monitor_manager);
+#endif
+
+ g_return_if_fail (META_IS_DISPLAY (display));
+ g_return_if_fail (monitor >= 0 && monitor < n_logical_monitors);
+ g_return_if_fail (geometry != NULL);
+
+ logical_monitor =
+ meta_monitor_manager_get_logical_monitor_from_number (monitor_manager,
+ monitor);
+ *geometry = logical_monitor->rect;
+}
+
+/**
+ * meta_display_get_monitor_in_fullscreen:
+ * @display: a #MetaDisplay
+ * @monitor: the monitor number
+ *
+ * Determines whether there is a fullscreen window obscuring the specified
+ * monitor. If there is a fullscreen window, the desktop environment will
+ * typically hide any controls that might obscure the fullscreen window.
+ *
+ * You can get notification when this changes by connecting to
+ * MetaDisplay::in-fullscreen-changed.
+ *
+ * Returns: %TRUE if there is a fullscreen window covering the specified monitor.
+ */
+gboolean
+meta_display_get_monitor_in_fullscreen (MetaDisplay *display,
+ int monitor)
+{
+ MetaBackend *backend = meta_get_backend ();
+ MetaMonitorManager *monitor_manager =
+ meta_backend_get_monitor_manager (backend);
+ MetaLogicalMonitor *logical_monitor;
+#ifndef G_DISABLE_CHECKS
+ int n_logical_monitors =
+ meta_monitor_manager_get_num_logical_monitors (monitor_manager);
+#endif
+
+ g_return_val_if_fail (META_IS_DISPLAY (display), FALSE);
+ g_return_val_if_fail (monitor >= 0 &&
+ monitor < n_logical_monitors, FALSE);
+
+ logical_monitor =
+ meta_monitor_manager_get_logical_monitor_from_number (monitor_manager,
+ monitor);
+
+ /* We use -1 as a flag to mean "not known yet" for notification
+ purposes */ return logical_monitor->in_fullscreen == TRUE;
+}
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index 1160e16..8bf19ca 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -4030,28 +4030,28 @@ init_builtin_key_bindings (MetaDisplay *display)
common_keybindings,
META_KEY_BINDING_PER_WINDOW,
META_KEYBINDING_ACTION_MOVE_TO_MONITOR_LEFT,
- handle_move_to_monitor, META_SCREEN_LEFT);
+ handle_move_to_monitor, META_DISPLAY_LEFT);
add_builtin_keybinding (display,
"move-to-monitor-right",
common_keybindings,
META_KEY_BINDING_PER_WINDOW,
META_KEYBINDING_ACTION_MOVE_TO_MONITOR_RIGHT,
- handle_move_to_monitor, META_SCREEN_RIGHT);
+ handle_move_to_monitor, META_DISPLAY_RIGHT);
add_builtin_keybinding (display,
"move-to-monitor-down",
common_keybindings,
META_KEY_BINDING_PER_WINDOW,
META_KEYBINDING_ACTION_MOVE_TO_MONITOR_DOWN,
- handle_move_to_monitor, META_SCREEN_DOWN);
+ handle_move_to_monitor, META_DISPLAY_DOWN);
add_builtin_keybinding (display,
"move-to-monitor-up",
common_keybindings,
META_KEY_BINDING_PER_WINDOW,
META_KEYBINDING_ACTION_MOVE_TO_MONITOR_UP,
- handle_move_to_monitor, META_SCREEN_UP);
+ handle_move_to_monitor, META_DISPLAY_UP);
add_builtin_keybinding (display,
"raise-or-lower",
diff --git a/src/core/screen.c b/src/core/screen.c
index a84dc5b..d30df25 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -751,141 +751,6 @@ meta_screen_get_mouse_window (MetaScreen *screen,
return window;
}
-int
-meta_screen_get_monitor_index_for_rect (MetaScreen *screen,
- MetaRectangle *rect)
-{
- MetaBackend *backend = meta_get_backend ();
- MetaMonitorManager *monitor_manager =
- meta_backend_get_monitor_manager (backend);
- MetaLogicalMonitor *logical_monitor;
-
- logical_monitor =
- meta_monitor_manager_get_logical_monitor_from_rect (monitor_manager, rect);
- return logical_monitor->number;
-}
-
-int
-meta_screen_get_monitor_neighbor_index (MetaScreen *screen,
- int which_monitor,
- MetaScreenDirection direction)
-{
- MetaBackend *backend = meta_get_backend ();
- MetaMonitorManager *monitor_manager =
- meta_backend_get_monitor_manager (backend);
- MetaLogicalMonitor *logical_monitor;
- MetaLogicalMonitor *neighbor;
-
- logical_monitor =
- meta_monitor_manager_get_logical_monitor_from_number (monitor_manager,
- which_monitor);
- neighbor = meta_monitor_manager_get_logical_monitor_neighbor (monitor_manager,
- logical_monitor,
- direction);
- return neighbor ? neighbor->number : -1;
-}
-
-/**
- * meta_screen_get_current_monitor:
- * @screen: a #MetaScreen
- *
- * Gets the index of the monitor that currently has the mouse pointer.
- *
- * Return value: a monitor index
- */
-int
-meta_screen_get_current_monitor (MetaScreen *screen)
-{
- MetaBackend *backend = meta_get_backend ();
- MetaLogicalMonitor *logical_monitor;
-
- logical_monitor = meta_backend_get_current_logical_monitor (backend);
-
- /* Pretend its the first when there is no actual current monitor. */
- if (!logical_monitor)
- return 0;
-
- return logical_monitor->number;
-}
-
-/**
- * meta_screen_get_n_monitors:
- * @screen: a #MetaScreen
- *
- * Gets the number of monitors that are joined together to form @screen.
- *
- * Return value: the number of monitors
- */
-int
-meta_screen_get_n_monitors (MetaScreen *screen)
-{
- MetaBackend *backend = meta_get_backend ();
- MetaMonitorManager *monitor_manager =
- meta_backend_get_monitor_manager (backend);
-
- g_return_val_if_fail (META_IS_SCREEN (screen), 0);
-
- return meta_monitor_manager_get_num_logical_monitors (monitor_manager);
-}
-
-/**
- * meta_screen_get_primary_monitor:
- * @screen: a #MetaScreen
- *
- * Gets the index of the primary monitor on this @screen.
- *
- * Return value: a monitor index
- */
-int
-meta_screen_get_primary_monitor (MetaScreen *screen)
-{
- MetaBackend *backend = meta_get_backend ();
- MetaMonitorManager *monitor_manager =
- meta_backend_get_monitor_manager (backend);
- MetaLogicalMonitor *logical_monitor;
-
- g_return_val_if_fail (META_IS_SCREEN (screen), 0);
-
- logical_monitor =
- meta_monitor_manager_get_primary_logical_monitor (monitor_manager);
- if (logical_monitor)
- return logical_monitor->number;
- else
- return 0;
-}
-
-/**
- * meta_screen_get_monitor_geometry:
- * @screen: a #MetaScreen
- * @monitor: the monitor number
- * @geometry: (out): location to store the monitor geometry
- *
- * Stores the location and size of the indicated monitor in @geometry.
- */
-void
-meta_screen_get_monitor_geometry (MetaScreen *screen,
- int monitor,
- MetaRectangle *geometry)
-{
- MetaBackend *backend = meta_get_backend ();
- MetaMonitorManager *monitor_manager =
- meta_backend_get_monitor_manager (backend);
- MetaLogicalMonitor *logical_monitor;
-#ifndef G_DISABLE_CHECKS
- int n_logical_monitors =
- meta_monitor_manager_get_num_logical_monitors (monitor_manager);
-#endif
-
- g_return_if_fail (META_IS_SCREEN (screen));
- g_return_if_fail (monitor >= 0 && monitor < n_logical_monitors);
- g_return_if_fail (geometry != NULL);
-
- logical_monitor =
- meta_monitor_manager_get_logical_monitor_from_number (monitor_manager,
- monitor);
- *geometry = logical_monitor->rect;
-}
-
#define _NET_WM_ORIENTATION_HORZ 0
#define _NET_WM_ORIENTATION_VERT 1
@@ -1600,42 +1465,3 @@ meta_screen_set_active_workspace_hint (MetaScreen *screen)
32, PropModeReplace, (guchar*) data, 1);
meta_error_trap_pop (x11_display);
}
-
-/**
- * meta_screen_get_monitor_in_fullscreen:
- * @screen: a #MetaScreen
- * @monitor: the monitor number
- *
- * Determines whether there is a fullscreen window obscuring the specified
- * monitor. If there is a fullscreen window, the desktop environment will
- * typically hide any controls that might obscure the fullscreen window.
- *
- * You can get notification when this changes by connecting to
- * MetaScreen::in-fullscreen-changed.
- *
- * Returns: %TRUE if there is a fullscreen window covering the specified monitor.
- */
-gboolean
-meta_screen_get_monitor_in_fullscreen (MetaScreen *screen,
- int monitor)
-{
- MetaBackend *backend = meta_get_backend ();
- MetaMonitorManager *monitor_manager =
- meta_backend_get_monitor_manager (backend);
- MetaLogicalMonitor *logical_monitor;
-#ifndef G_DISABLE_CHECKS
- int n_logical_monitors =
- meta_monitor_manager_get_num_logical_monitors (monitor_manager);
-#endif
-
- g_return_val_if_fail (META_IS_SCREEN (screen), FALSE);
- g_return_val_if_fail (monitor >= 0 &&
- monitor < n_logical_monitors, FALSE);
-
- logical_monitor =
- meta_monitor_manager_get_logical_monitor_from_number (monitor_manager,
- monitor);
-
- /* We use -1 as a flag to mean "not known yet" for notification purposes */
- return logical_monitor->in_fullscreen == TRUE;
-}
diff --git a/src/core/window.c b/src/core/window.c
index f6d552a..b8f79cf 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -2842,7 +2842,7 @@ meta_window_is_monitor_sized (MetaWindow *window)
MetaRectangle window_rect, monitor_rect;
meta_window_get_frame_rect (window, &window_rect);
- meta_screen_get_monitor_geometry (window->screen, window->monitor->number, &monitor_rect);
+ meta_display_get_monitor_geometry (window->display, window->monitor->number, &monitor_rect);
if (meta_rectangle_equal (&window_rect, &monitor_rect))
return TRUE;
@@ -2939,7 +2939,7 @@ meta_window_can_tile_side_by_side (MetaWindow *window)
if (!meta_window_can_tile_maximized (window))
return FALSE;
- monitor = meta_screen_get_current_monitor (window->screen);
+ monitor = meta_display_get_current_monitor (window->display);
meta_window_get_work_area_for_monitor (window, monitor, &tile_area);
/* Do not allow tiling in portrait orientation */
diff --git a/src/core/workspace.c b/src/core/workspace.c
index 942b308..c294b53 100644
--- a/src/core/workspace.c
+++ b/src/core/workspace.c
@@ -1023,7 +1023,7 @@ meta_workspace_set_builtin_struts (MetaWorkspace *workspace,
case META_SIDE_TOP:
if (meta_monitor_manager_get_logical_monitor_neighbor (monitor_manager,
logical_monitor,
- META_SCREEN_UP))
+ META_DISPLAY_UP))
continue;
strut->rect.height += strut->rect.y;
@@ -1032,7 +1032,7 @@ meta_workspace_set_builtin_struts (MetaWorkspace *workspace,
case META_SIDE_BOTTOM:
if (meta_monitor_manager_get_logical_monitor_neighbor (monitor_manager,
logical_monitor,
- META_SCREEN_DOWN))
+ META_DISPLAY_DOWN))
continue;
strut->rect.height = screen->display->rect.height - strut->rect.y;
@@ -1040,7 +1040,7 @@ meta_workspace_set_builtin_struts (MetaWorkspace *workspace,
case META_SIDE_LEFT:
if (meta_monitor_manager_get_logical_monitor_neighbor (monitor_manager,
logical_monitor,
- META_SCREEN_LEFT))
+ META_DISPLAY_LEFT))
continue;
strut->rect.width += strut->rect.x;
@@ -1049,7 +1049,7 @@ meta_workspace_set_builtin_struts (MetaWorkspace *workspace,
case META_SIDE_RIGHT:
if (meta_monitor_manager_get_logical_monitor_neighbor (monitor_manager,
logical_monitor,
- META_SCREEN_RIGHT))
+ META_DISPLAY_RIGHT))
continue;
strut->rect.width = screen->display->rect.width - strut->rect.x;
diff --git a/src/meta/display.h b/src/meta/display.h
index 389b87a..50366cb 100644
--- a/src/meta/display.h
+++ b/src/meta/display.h
@@ -26,6 +26,7 @@
#include <meta/types.h>
#include <meta/prefs.h>
#include <meta/common.h>
+#include <meta/workspace.h>
/**
* MetaTabList:
@@ -175,4 +176,36 @@ void meta_display_set_cursor (MetaDisplay *display,
GSList *meta_display_get_startup_sequences (MetaDisplay *display);
+/**
+ * MetaDisplayDirection:
+ * @META_DISPLAY_UP: up
+ * @META_DISPLAY_DOWN: down
+ * @META_DISPLAY_LEFT: left
+ * @META_DISPLAY_RIGHT: right
+ */
+typedef enum
+{
+ META_DISPLAY_UP,
+ META_DISPLAY_DOWN,
+ META_DISPLAY_LEFT,
+ META_DISPLAY_RIGHT
+} MetaDisplayDirection;
+
+int meta_display_get_n_monitors (MetaDisplay *display);
+int meta_display_get_primary_monitor (MetaDisplay *display);
+int meta_display_get_current_monitor (MetaDisplay *display);
+void meta_display_get_monitor_geometry (MetaDisplay *display,
+ int monitor,
+ MetaRectangle *geometry);
+
+gboolean meta_display_get_monitor_in_fullscreen (MetaDisplay *display,
+ int monitor);
+
+int meta_display_get_monitor_index_for_rect (MetaDisplay *display,
+ MetaRectangle *rect);
+
+int meta_display_get_monitor_neighbor_index (MetaDisplay *display,
+ int which_monitor,
+ MetaDisplayDirection dir);
+
#endif
diff --git a/src/meta/screen.h b/src/meta/screen.h
index bf4a66f..57f3b60 100644
--- a/src/meta/screen.h
+++ b/src/meta/screen.h
@@ -56,38 +56,6 @@ int meta_screen_get_active_workspace_index (MetaScreen *screen);
MetaWorkspace * meta_screen_get_active_workspace (MetaScreen *screen);
-/**
- * MetaScreenDirection:
- * @META_SCREEN_UP: up
- * @META_SCREEN_DOWN: down
- * @META_SCREEN_LEFT: left
- * @META_SCREEN_RIGHT: right
- */
-typedef enum
-{
- META_SCREEN_UP,
- META_SCREEN_DOWN,
- META_SCREEN_LEFT,
- META_SCREEN_RIGHT
-} MetaScreenDirection;
-
-int meta_screen_get_n_monitors (MetaScreen *screen);
-int meta_screen_get_primary_monitor (MetaScreen *screen);
-int meta_screen_get_current_monitor (MetaScreen *screen);
-void meta_screen_get_monitor_geometry (MetaScreen *screen,
- int monitor,
- MetaRectangle *geometry);
-
-gboolean meta_screen_get_monitor_in_fullscreen (MetaScreen *screen,
- int monitor);
-
-int meta_screen_get_monitor_index_for_rect (MetaScreen *screen,
- MetaRectangle *rect);
-
-int meta_screen_get_monitor_neighbor_index (MetaScreen *screen,
- int which_monitor,
- MetaScreenDirection dir);
-
void meta_screen_focus_default_window (MetaScreen *screen,
guint32 timestamp);
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index 2a09e8b..179d676 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -2077,7 +2077,7 @@ meta_window_move_resize_request (MetaWindow *window,
rect.width = width;
rect.height = height;
- meta_screen_get_monitor_geometry (window->screen, window->monitor->number, &monitor_rect);
+ meta_display_get_monitor_geometry (window->display, window->monitor->number, &monitor_rect);
/* Workaround braindead legacy apps that don't know how to
* fullscreen themselves properly - don't get fooled by
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]