diff --git a/hyprscrolling/Scrolling.cpp b/hyprscrolling/Scrolling.cpp index 243fdee..08db5bf 100644 --- a/hyprscrolling/Scrolling.cpp +++ b/hyprscrolling/Scrolling.cpp @@ -223,7 +223,7 @@ SP SWorkspaceData::atCenter() { return nullptr; } -void SWorkspaceData::recalculate() { +void SWorkspaceData::recalculate(bool forceInstant) { static const auto PFSONONE = CConfigValue("plugin:hyprscrolling:fullscreen_on_one_column"); if (!workspace || !workspace) { @@ -252,7 +252,7 @@ void SWorkspaceData::recalculate() { currentTop += WINDOW->windowSize * USABLE.h; - layout->applyNodeDataToWindow(WINDOW, false); + layout->applyNodeDataToWindow(WINDOW, forceInstant); } currentLeft += ITEM_WIDTH; @@ -634,7 +634,7 @@ void CScrollingLayout::resizeActiveWindow(const Vector2D& delta, eRectCorner cor } } - DATA->column->workspace->recalculate(); + DATA->column->workspace->recalculate(true); } void CScrollingLayout::fullscreenRequestForWindow(PHLWINDOW pWindow, const eFullscreenMode CURRENT_EFFECTIVE_MODE, const eFullscreenMode EFFECTIVE_MODE) { diff --git a/hyprscrolling/Scrolling.hpp b/hyprscrolling/Scrolling.hpp index a1e0828..5a2b983 100644 --- a/hyprscrolling/Scrolling.hpp +++ b/hyprscrolling/Scrolling.hpp @@ -69,7 +69,7 @@ struct SWorkspaceData { void centerCol(SP c); void fitCol(SP c); - void recalculate(); + void recalculate(bool forceInstant = false); CScrollingLayout* layout = nullptr; WP self; @@ -112,7 +112,7 @@ class CScrollingLayout : public IHyprLayout { SP dataFor(PHLWINDOW w); SP currentWorkspaceData(); - void applyNodeDataToWindow(SP node, bool force); + void applyNodeDataToWindow(SP node, bool instant); friend struct SWorkspaceData; }; \ No newline at end of file