[mutter] screen: Add public method to get neighboring monitor
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] screen: Add public method to get neighboring monitor
- Date: Tue, 14 Apr 2015 21:19:47 +0000 (UTC)
commit 2e3086e2aa59d3cea5e0814516b3d5cb04143302
Author: Florian Müllner <fmuellner gnome org>
Date: Sun Mar 22 14:41:54 2015 +0100
screen: Add public method to get neighboring monitor
The existing private get_monitor_neighbor() function returns a
MetaMonitorInfo, which is private as well. Add a public wrapper
that returns a monitor index instead, as we do for other public
monitor-related methods.
https://bugzilla.gnome.org/show_bug.cgi?id=633994
src/core/screen-private.h | 8 --------
src/core/screen.c | 10 ++++++++++
src/meta/screen.h | 19 +++++++++++++++++++
3 files changed, 29 insertions(+), 8 deletions(-)
---
diff --git a/src/core/screen-private.h b/src/core/screen-private.h
index 322dfb4..bc3b5ac 100644
--- a/src/core/screen-private.h
+++ b/src/core/screen-private.h
@@ -41,14 +41,6 @@
typedef void (* MetaScreenWindowFunc) (MetaWindow *window,
gpointer user_data);
-typedef enum
-{
- META_SCREEN_UP,
- META_SCREEN_DOWN,
- META_SCREEN_LEFT,
- META_SCREEN_RIGHT
-} MetaScreenDirection;
-
#define META_WIREFRAME_XOR_LINE_WIDTH 2
struct _MetaScreen
diff --git a/src/core/screen.c b/src/core/screen.c
index e515072..49df711 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -1490,6 +1490,16 @@ meta_screen_get_monitor_neighbor (MetaScreen *screen,
return NULL;
}
+int
+meta_screen_get_monitor_neighbor_index (MetaScreen *screen,
+ int which_monitor,
+ MetaScreenDirection direction)
+{
+ const MetaMonitorInfo *monitor;
+ monitor = meta_screen_get_monitor_neighbor (screen, which_monitor, direction);
+ return monitor ? monitor->number : -1;
+}
+
void
meta_screen_get_natural_monitor_list (MetaScreen *screen,
int** monitors_list,
diff --git a/src/meta/screen.h b/src/meta/screen.h
index 500871b..a1835cd 100644
--- a/src/meta/screen.h
+++ b/src/meta/screen.h
@@ -66,6 +66,21 @@ 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);
@@ -82,6 +97,10 @@ gboolean meta_screen_get_monitor_in_fullscreen (MetaScreen *screen,
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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]