diff options
| author | outfoxxed <outfoxxed@outfoxxed.me> | 2024-07-27 13:43:01 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-27 21:43:01 +0100 |
| commit | bc86afea7e177a7ad4335737417fc0e468698dc4 (patch) | |
| tree | ef098366026026cbe5c676c99fdec4af13615ca4 /src/desktop/Popup.cpp | |
| parent | 6edfdd63a1fc87a6d874364c404c9b6f852c7096 (diff) | |
xdg-shell: completely rewrite xdg-positioner (#7067)
This implementation actually works.
Diffstat (limited to 'src/desktop/Popup.cpp')
| -rw-r--r-- | src/desktop/Popup.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/desktop/Popup.cpp b/src/desktop/Popup.cpp index 131a26b5..e48b7400 100644 --- a/src/desktop/Popup.cpp +++ b/src/desktop/Popup.cpp @@ -22,7 +22,7 @@ CPopup::CPopup(SP<CXDGPopupResource> popup, CPopup* pOwner) : m_pParent(pOwner), m_pWindowOwner = pOwner->m_pWindowOwner; m_vLastSize = popup->surface->current.geometry.size(); - unconstrain(); + reposition(); initAllSignals(); } @@ -188,18 +188,18 @@ void CPopup::onReposition() { m_vLastPos = coordsRelativeToParent(); - unconstrain(); + reposition(); } -void CPopup::unconstrain() { +void CPopup::reposition() { const auto COORDS = t1ParentCoords(); const auto PMONITOR = g_pCompositor->getMonitorFromVector(COORDS); if (!PMONITOR) return; - CBox box = {PMONITOR->vecPosition.x - COORDS.x, PMONITOR->vecPosition.y - COORDS.y, PMONITOR->vecSize.x, PMONITOR->vecSize.y}; - m_pResource->applyPositioning(box, COORDS - PMONITOR->vecPosition); + CBox box = {PMONITOR->vecPosition.x, PMONITOR->vecPosition.y, PMONITOR->vecSize.x, PMONITOR->vecSize.y}; + m_pResource->applyPositioning(box, COORDS); } Vector2D CPopup::coordsRelativeToParent() { |
