diff --git a/src/events/Layers.cpp b/src/events/Layers.cpp index e8c56b03..28c54ab4 100644 --- a/src/events/Layers.cpp +++ b/src/events/Layers.cpp @@ -305,14 +305,14 @@ void Events::listener_commitLayerSurface(void* owner, void* data) { g_pHyprRenderer->arrangeLayersForMonitor(PMONITOR->ID); PMONITOR->scheduledRecalc = true; + } else { + layersurface->position = Vector2D(layersurface->geometry.x, layersurface->geometry.y); + + // update geom if it changed + layersurface->geometry = {layersurface->geometry.x, layersurface->geometry.y, (int)layersurface->layerSurface->surface->current.width, + (int)layersurface->layerSurface->surface->current.height}; } - layersurface->position = Vector2D(layersurface->geometry.x, layersurface->geometry.y); - - // update geom if it changed - layersurface->geometry = {layersurface->geometry.x, layersurface->geometry.y, (int)layersurface->layerSurface->current.actual_width, - (int)layersurface->layerSurface->current.actual_height}; - g_pHyprRenderer->damageSurface(layersurface->layerSurface->surface, layersurface->position.x, layersurface->position.y); g_pProtocolManager->m_pFractionalScaleProtocolManager->setPreferredScaleForSurface(layersurface->layerSurface->surface, PMONITOR->scale);