summaryrefslogtreecommitdiff
path: root/src/events/Layers.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-17 10:46:04 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-17 10:46:04 +0200
commit24df15105ee2fc7f2975ef2958c2e7b1258569d1 (patch)
treea1a911364d6c6ec2276b5dd9fe5d98b3f7d3be7a /src/events/Layers.cpp
parent4f83adcdb9481bf9ddfd7a570dda0e50899c948d (diff)
don't rearrange layersurfaces when not needed
Diffstat (limited to 'src/events/Layers.cpp')
-rw-r--r--src/events/Layers.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/events/Layers.cpp b/src/events/Layers.cpp
index 4aac1a74..c6295e70 100644
--- a/src/events/Layers.cpp
+++ b/src/events/Layers.cpp
@@ -145,15 +145,17 @@ void Events::listener_commitLayerSurface(void* owner, void* data) {
g_pHyprRenderer->arrangeLayersForMonitor(POLDMON->ID);
}
- g_pHyprRenderer->arrangeLayersForMonitor(PMONITOR->ID);
+ if (layersurface->layerSurface->current.committed != 0) {
+ g_pHyprRenderer->arrangeLayersForMonitor(PMONITOR->ID);
- if (layersurface->layer != layersurface->layerSurface->current.layer) {
- PMONITOR->m_aLayerSurfaceLists[layersurface->layer].remove(layersurface);
- PMONITOR->m_aLayerSurfaceLists[layersurface->layerSurface->current.layer].push_back(layersurface);
- layersurface->layer = layersurface->layerSurface->current.layer;
- }
+ if (layersurface->layer != layersurface->layerSurface->current.layer) {
+ PMONITOR->m_aLayerSurfaceLists[layersurface->layer].remove(layersurface);
+ PMONITOR->m_aLayerSurfaceLists[layersurface->layerSurface->current.layer].push_back(layersurface);
+ layersurface->layer = layersurface->layerSurface->current.layer;
+ }
- g_pLayoutManager->getCurrentLayout()->recalculateMonitor(PMONITOR->ID);
+ g_pLayoutManager->getCurrentLayout()->recalculateMonitor(PMONITOR->ID);
+ }
layersurface->position = Vector2D(layersurface->geometry.x, layersurface->geometry.y);
} \ No newline at end of file