diff options
Diffstat (limited to 'src/backends/meta-monitor-manager.c')
-rw-r--r-- | src/backends/meta-monitor-manager.c | 16 |
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; |