diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-06-30 23:50:57 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-06-30 23:50:57 +0200 |
| commit | 3970b43ea2de4e397ac548e6e148749bbe202ce2 (patch) | |
| tree | 7114d170cdbfcee20e83ae8653c7b4a7fd4382db /src/render/Renderer.cpp | |
| parent | 92890d492a2dea43837591de79ffec828b50d6e2 (diff) | |
fix disabling monitor while hyprland is running
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 4eaf988d..97c2de73 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -647,6 +647,15 @@ void CHyprRenderer::applyMonitorRule(SMonitor* pMonitor, SMonitorRule* pMonitorR Debug::log(LOG, "Applying monitor rule for %s", pMonitor->szName.c_str()); + // if it's disabled, disable and ignore + if (pMonitorRule->disabled) { + wlr_output_enable(pMonitor->output, 0); + wlr_output_commit(pMonitor->output); + + Events::listener_monitorDestroy(nullptr, pMonitor->output); + return; + } + // Check if the rule isn't already applied if (!force && DELTALESSTHAN(pMonitor->vecPixelSize.x, pMonitorRule->resolution.x, 1) && DELTALESSTHAN(pMonitor->vecPixelSize.y, pMonitorRule->resolution.y, 1) && DELTALESSTHAN(pMonitor->refreshRate, pMonitorRule->refreshRate, 1) && pMonitor->scale == pMonitorRule->scale && DELTALESSTHAN(pMonitor->vecPosition.x, pMonitorRule->offset.x, 1) && DELTALESSTHAN(pMonitor->vecPosition.y, pMonitorRule->offset.y, 1) && pMonitor->transform == pMonitorRule->transform) { Debug::log(LOG, "Not applying a new rule to %s because it's already applied!", pMonitor->szName.c_str()); |
