summaryrefslogtreecommitdiff
path: root/src/events/Layers.cpp
diff options
context:
space:
mode:
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 db21ae68..2b55ece2 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);