diff --git a/src/debug/HyprCtl.cpp b/src/debug/HyprCtl.cpp index 93e0f620..f5c63f86 100644 --- a/src/debug/HyprCtl.cpp +++ b/src/debug/HyprCtl.cpp @@ -1041,7 +1041,8 @@ std::string dispatchKeyword(eHyprCtlOutputFormat format, std::string in) { } // decorations will probably need a repaint - if (COMMAND.contains("decoration:") || COMMAND.contains("border") || COMMAND == "workspace" || COMMAND.contains("zoom_factor") || COMMAND == "source") { + if (COMMAND.contains("decoration:") || COMMAND.contains("border") || COMMAND == "workspace" || COMMAND.contains("zoom_factor") || COMMAND == "source" || + COMMAND.starts_with("windowrule")) { for (auto const& m : g_pCompositor->m_vMonitors) { g_pHyprRenderer->damageMonitor(m); g_pLayoutManager->getCurrentLayout()->recalculateMonitor(m->ID); @@ -1698,6 +1699,14 @@ std::string CHyprCtl::getReply(std::string request) { rd.blurFBDirty = true; } + for (auto const& w : g_pCompositor->m_vWindows) { + if (!w->m_bIsMapped || !g_pCompositor->isWorkspaceVisible(w->m_pWorkspace)) + continue; + + w->updateDynamicRules(); + g_pCompositor->updateWindowAnimatedDecorationValues(w); + } + for (auto const& m : g_pCompositor->m_vMonitors) { g_pHyprRenderer->damageMonitor(m); g_pLayoutManager->getCurrentLayout()->recalculateMonitor(m->ID);