summaryrefslogtreecommitdiff
path: root/src/events/Popups.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-03 10:32:21 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-03 10:32:21 +0200
commitdf6a3c687702e1d66215ff77aa97a003897f4140 (patch)
tree15821d5f84da9e147172e998240140563868f76d /src/events/Popups.cpp
parent9d06c612428d6e72faf99d088f6431fc2cf8e919 (diff)
fix non-gdk popups on multimon
Diffstat (limited to 'src/events/Popups.cpp')
-rw-r--r--src/events/Popups.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/events/Popups.cpp b/src/events/Popups.cpp
index 9ccd63b6..678951d5 100644
--- a/src/events/Popups.cpp
+++ b/src/events/Popups.cpp
@@ -18,8 +18,8 @@
void addPopupGlobalCoords(void* pPopup, int* x, int* y) {
SXDGPopup *const PPOPUP = (SXDGPopup*)pPopup;
- int px = PPOPUP->monitor->vecPosition.x;
- int py = PPOPUP->monitor->vecPosition.y;
+ int px = 0;
+ int py = 0;
auto curPopup = PPOPUP;
while (true) {
@@ -72,8 +72,8 @@ void Events::listener_newPopup(void* owner, void* data) {
const auto PMONITOR = g_pCompositor->getMonitorFromID(layersurface->monitorID);
PNEWPOPUP->popup = WLRPOPUP;
- PNEWPOPUP->lx = layersurface->position.x;
- PNEWPOPUP->ly = layersurface->position.y;
+ PNEWPOPUP->lx = layersurface->position.x - PMONITOR->vecPosition.x;
+ PNEWPOPUP->ly = layersurface->position.y - PMONITOR->vecPosition.y;
PNEWPOPUP->monitor = PMONITOR;
createNewPopup(WLRPOPUP, PNEWPOPUP);
}
@@ -93,8 +93,8 @@ void Events::listener_newPopupXDG(void* owner, void* data) {
const auto PMONITOR = g_pCompositor->getMonitorFromID(PWINDOW->m_iMonitorID);
PNEWPOPUP->popup = WLRPOPUP;
- PNEWPOPUP->lx = PWINDOW->m_vEffectivePosition.x;
- PNEWPOPUP->ly = PWINDOW->m_vEffectivePosition.y;
+ PNEWPOPUP->lx = PWINDOW->m_vEffectivePosition.x - PMONITOR->vecPosition.x;
+ PNEWPOPUP->ly = PWINDOW->m_vEffectivePosition.y - PMONITOR->vecPosition.y;
PNEWPOPUP->parentWindow = PWINDOW;
PNEWPOPUP->monitor = PMONITOR;
createNewPopup(WLRPOPUP, PNEWPOPUP);