[mutter] monitor-manager: Add public API to get logical monitor from connector
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] monitor-manager: Add public API to get logical monitor from connector
- Date: Fri, 7 Apr 2017 14:37:56 +0000 (UTC)
commit 1caa7f76279b452e82e09feb7addec35f1d20649
Author: Jonas Ådahl <jadahl gmail com>
Date: Thu Apr 6 13:15:45 2017 +0800
monitor-manager: Add public API to get logical monitor from connector
This adds a function to be used by gnome-shell to get the logical
monitor given a connector name. For now, use the same index integer
method to reference a logical monitor, but this should be revisited by
providing a better API later.
https://bugzilla.gnome.org/show_bug.cgi?id=777732
src/backends/meta-monitor-manager.c | 29 +++++++++++++++++++++++++++++
src/meta/meta-monitor-manager.h | 3 +++
2 files changed, 32 insertions(+), 0 deletions(-)
---
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
index 0cef918..48c99a0 100644
--- a/src/backends/meta-monitor-manager.c
+++ b/src/backends/meta-monitor-manager.c
@@ -2909,6 +2909,35 @@ meta_monitor_manager_get_monitor_for_output (MetaMonitorManager *manager,
return -1;
}
+/**
+ * meta_monitor_manager_get_monitor_for_connector:
+ * @manager: A #MetaMonitorManager
+ * @connector: A valid connector name
+ *
+ * Returns: The monitor index or -1 if @id isn't valid or the connector
+ * isn't associated with a logical monitor.
+ */
+gint
+meta_monitor_manager_get_monitor_for_connector (MetaMonitorManager *manager,
+ const char *connector)
+{
+ GList *l;
+
+ for (l = manager->monitors; l; l = l->next)
+ {
+ MetaMonitor *monitor = l->data;
+
+ if (g_str_equal (connector, meta_monitor_get_connector (monitor)))
+ {
+ MetaOutput *main_output = meta_monitor_get_main_output (monitor);
+
+ return main_output->crtc->logical_monitor->number;
+ }
+ }
+
+ return -1;
+}
+
gboolean
meta_monitor_manager_get_is_builtin_display_on (MetaMonitorManager *manager)
{
diff --git a/src/meta/meta-monitor-manager.h b/src/meta/meta-monitor-manager.h
index 68b5451..da1e329 100644
--- a/src/meta/meta-monitor-manager.h
+++ b/src/meta/meta-monitor-manager.h
@@ -34,6 +34,9 @@ MetaMonitorManager *meta_monitor_manager_get (void);
gint meta_monitor_manager_get_monitor_for_output (MetaMonitorManager *manager,
guint id);
+gint meta_monitor_manager_get_monitor_for_connector (MetaMonitorManager *manager,
+ const char *connector);
+
gboolean meta_monitor_manager_get_is_builtin_display_on (MetaMonitorManager *manager);
#endif /* META_MONITOR_MANAGER_H */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]