From 959e83fd4db4d95db9975eac7e061e14a7bdeb47 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Mon, 8 Jul 2024 15:57:21 +0200 Subject: [PATCH] stuf --- src/helpers/Monitor.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index e62db718..7edf3b4b 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -45,11 +45,22 @@ void CMonitor::onConnect(bool noRule) { }); listeners.state = output->events.state.registerListener([this](std::any d) { + auto E = std::any_cast(d); + + if (E.size == Vector2D{}) { + // an indication to re-set state + // we can't do much for createdByUser displays I think + if (createdByUser) + return; + + Debug::log(LOG, "Reapplying monitor rule for {} from a state request", szName); + g_pHyprRenderer->applyMonitorRule(this, &activeMonitorRule, true); + return; + } + if (!createdByUser) return; - auto E = std::any_cast(d); - const auto SIZE = E.size; forceSize = SIZE;