[gnome-panel/wip/geiger/geometry] panel-monitor: implement get_index



commit 4de50a95d7b0c883103fdaab516bd76596b80c4c
Author: Sebastian Geiger <sbastig gmx net>
Date:   Sat Feb 17 23:30:44 2018 +0100

    panel-monitor: implement get_index

 gnome-panel/panel-monitor.c |   16 ++++++++++++++++
 gnome-panel/panel-monitor.h |    4 ++++
 2 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/gnome-panel/panel-monitor.c b/gnome-panel/panel-monitor.c
index b10afbd..f3d5ddd 100644
--- a/gnome-panel/panel-monitor.c
+++ b/gnome-panel/panel-monitor.c
@@ -37,3 +37,19 @@ panel_monitor_get_geometry (int monitor_index,
   if (height) *height = geometry.height;
   if (width) *width = geometry.width;
 }
+
+guint
+panel_monitor_get_index (GdkMonitor *monitor)
+{
+  GdkDisplay *display;
+
+  g_assert(monitor);
+
+  display = gdk_display_get_default ();
+
+  for (guint i = 0; i < gdk_display_get_n_monitors (display); i++)
+    {
+      if (monitor == gdk_display_get_monitor (display, i))
+        return i;
+    }
+}
diff --git a/gnome-panel/panel-monitor.h b/gnome-panel/panel-monitor.h
index 79beb31..0d3d03c 100644
--- a/gnome-panel/panel-monitor.h
+++ b/gnome-panel/panel-monitor.h
@@ -18,10 +18,14 @@
 #ifndef PANEL_MONITOR_H
 #define PANEL_MONITOR_H
 
+#include <glib.h>
+
 void panel_monitor_get_geometry (int monitor_index,
                                  int *x,
                                  int *y,
                                  int *height,
                                  int *width);
 
+guint panel_monitor_get_index (GdkMonitor *monitor);
+
 #endif //PANEL_MONITOR_H


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