summaryrefslogtreecommitdiff
path: root/src/backends/meta-monitor-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/meta-monitor-manager.c')
-rw-r--r--src/backends/meta-monitor-manager.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
index d1f0d514..78211054 100644
--- a/src/backends/meta-monitor-manager.c
+++ b/src/backends/meta-monitor-manager.c
@@ -101,6 +101,9 @@ construct_tile_monitor (MetaMonitorManager *manager,
info.tile_group_id = tile_group_id;
info.is_tiled = True;
info.is_presentation = False;
+ info.refresh_rate = 0.0;
+ info.width_mm = 0;
+ info.height_mm = 0;
info.is_primary = False;
info.rect.x = INT_MAX;
info.rect.y = INT_MAX;
@@ -127,6 +130,12 @@ construct_tile_monitor (MetaMonitorManager *manager,
output->crtc->rect.height != output->tile_h)
continue;
+ if (output->loc_h_tile == 0 && output->loc_v_tile == 0) {
+ info.refresh_rate = output->crtc->current_mode->refresh_rate;
+ info.width_mm = output->width_mm;
+ info.height_mm = output->height_mm;
+ }
+
/* hack */
if (output->crtc->rect.x < info.rect.x)
info.rect.x = output->crtc->rect.x;
@@ -204,6 +213,7 @@ make_logical_config (MetaMonitorManager *manager)
info.number = monitor_infos->len;
info.tile_group_id = 0;
info.rect = crtc->rect;
+ info.refresh_rate = crtc->current_mode->refresh_rate;
info.is_primary = FALSE;
/* This starts true because we want
is_presentation only if all outputs are
@@ -247,6 +257,12 @@ make_logical_config (MetaMonitorManager *manager)
info->is_primary = info->is_primary || output->is_primary;
info->is_presentation = info->is_presentation && output->is_presentation;
+ info->width_mm = output->width_mm;
+ info->height_mm = output->height_mm;
+
+ info->outputs[0] = output;
+ info->n_outputs = 1;
+
if (output->is_primary || info->winsys_id == 0)
info->winsys_id = output->winsys_id;