From 47e5b41fead236026ff7630689e677e854531c41 Mon Sep 17 00:00:00 2001 From: TheOnlyMrCat Date: Thu, 11 Apr 2024 21:41:18 +1000 Subject: renderer: Add dimaround layer rule (#4643) --- src/helpers/WLClasses.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/helpers/WLClasses.cpp') diff --git a/src/helpers/WLClasses.cpp b/src/helpers/WLClasses.cpp index 6135098a..2e669e4f 100644 --- a/src/helpers/WLClasses.cpp +++ b/src/helpers/WLClasses.cpp @@ -10,6 +10,11 @@ SLayerSurface::SLayerSurface() { realPosition.registerVar(); realSize.registerVar(); + alpha.setUpdateCallback([this](void*) { + if (dimAround) + g_pHyprRenderer->damageMonitor(g_pCompositor->getMonitorFromID(monitorID)); + }); + alpha.setValueAndWarp(0.f); } @@ -26,6 +31,7 @@ void SLayerSurface::applyRules() { forceBlur = false; ignoreAlpha = false; ignoreAlphaValue = 0.f; + dimAround = false; xray = -1; animationStyle.reset(); @@ -47,6 +53,8 @@ void SLayerSurface::applyRules() { if (!alphaValue.empty()) ignoreAlphaValue = std::stof(alphaValue); } catch (...) { Debug::log(ERR, "Invalid value passed to ignoreAlpha"); } + } else if (rule.rule == "dimaround") { + dimAround = true; } else if (rule.rule.starts_with("xray")) { CVarList vars{rule.rule, 0, ' '}; try { -- cgit v1.2.3