diff --git a/virtualdesktops.cpp b/virtualdesktops.cpp --- a/virtualdesktops.cpp +++ b/virtualdesktops.cpp @@ -630,6 +630,9 @@ } m_rows = rows; + if (m_virtualDesktopManagement) { + m_virtualDesktopManagement->setRows(m_rows); + } int columns = count() / m_rows; if (count() % m_rows > 0) { @@ -678,6 +681,9 @@ m_rows = count() == 1u ? 1 : 2; columns = count() / m_rows; } + if (m_virtualDesktopManagement) { + m_virtualDesktopManagement->setRows(m_rows); + } setNETDesktopLayout(orientation, columns, m_rows, 0 //rootInfo->desktopLayoutCorner() // Not really worth implementing right now. ); @@ -724,6 +730,9 @@ int rows = group.readEntry("Rows", 2); m_rows = qBound(1, rows, n); + if (m_virtualDesktopManagement) { + m_virtualDesktopManagement->setRows(m_rows); + } if (m_rootInfo) { // avoid weird cases like having 3 rows for 4 desktops, where the last row is unused @@ -813,6 +822,9 @@ } m_rows = qMax(1u, height); + if (m_virtualDesktopManagement) { + m_virtualDesktopManagement->setRows(m_rows); + } m_grid.update(QSize(width, height), orientation, m_desktops); // TODO: why is there no call to m_rootInfo->setDesktopLayout?