summaryrefslogtreecommitdiff
path: root/src/events/Monitors.cpp
diff options
context:
space:
mode:
authorPhilip Damianik <39028343+pdamianik@users.noreply.github.com>2023-09-10 14:14:27 +0200
committerGitHub <noreply@github.com>2023-09-10 13:14:27 +0100
commit6c855dd6e42603ffc68c199b9647e002c557a205 (patch)
treebd9e74a582433bcfddcca3fa227613e852f61c38 /src/events/Monitors.cpp
parentd490f198a47564805ab0ee122afa77d625661ae0 (diff)
internal: Fix wlr output management (#3234)
Diffstat (limited to 'src/events/Monitors.cpp')
-rw-r--r--src/events/Monitors.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp
index a9fc25ae..8e45364a 100644
--- a/src/events/Monitors.cpp
+++ b/src/events/Monitors.cpp
@@ -38,8 +38,18 @@ void Events::listener_change(wl_listener* listener, void* data) {
CONFIGHEAD->state.enabled = m->output->enabled;
CONFIGHEAD->state.mode = m->output->current_mode;
- CONFIGHEAD->state.x = m->vecPosition.x;
- CONFIGHEAD->state.y = m->vecPosition.y;
+ if (!m->output->current_mode) {
+ CONFIGHEAD->state.custom_mode = {
+ m->output->width,
+ m->output->height,
+ m->output->refresh,
+ };
+ }
+ CONFIGHEAD->state.x = m->vecPosition.x;
+ CONFIGHEAD->state.y = m->vecPosition.y;
+ CONFIGHEAD->state.transform = m->transform;
+ CONFIGHEAD->state.scale = m->scale;
+ CONFIGHEAD->state.adaptive_sync_enabled = m->vrrActive;
}
wlr_output_manager_v1_set_configuration(g_pCompositor->m_sWLROutputMgr, CONFIG);