aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorvaxerski <[email protected]>2022-04-24 17:42:59 +0200
committervaxerski <[email protected]>2022-04-24 17:42:59 +0200
commit86bb95c125563300a50973ab50eec44c2943b9d1 (patch)
treed40c0fc2cf1827bf851ab10e9a296fb264d1fdf7
parentd79837633027838a334db182e37f6ad6712cd248 (diff)
downloadHyprland-86bb95c125563300a50973ab50eec44c2943b9d1.tar.gz
Hyprland-86bb95c125563300a50973ab50eec44c2943b9d1.zip
some fixes for xwayland windows and focus
-rw-r--r--src/layout/DwindleLayout.cpp7
-rw-r--r--src/managers/InputManager.cpp2
2 files changed, 4 insertions, 5 deletions
diff --git a/src/layout/DwindleLayout.cpp b/src/layout/DwindleLayout.cpp
index a3fdeecb..8a6bd6d9 100644
--- a/src/layout/DwindleLayout.cpp
+++ b/src/layout/DwindleLayout.cpp
@@ -449,6 +449,7 @@ void CHyprDwindleLayout::onMouseMove(const Vector2D& mousePos) {
if (g_pInputManager->dragButton == BTN_LEFT) {
DRAGGINGWINDOW->m_vRealPosition.setValueAndWarp(m_vBeginDragPositionXY + DELTA);
+ g_pXWaylandManager->setWindowSize(DRAGGINGWINDOW, DRAGGINGWINDOW->m_vRealSize.goalv());
} else {
if (DRAGGINGWINDOW->m_bIsFloating) {
DRAGGINGWINDOW->m_vRealSize.setValueAndWarp(m_vBeginDragSizeXY + DELTA);
@@ -601,8 +602,6 @@ void CHyprDwindleLayout::fullscreenRequestForWindow(CWindow* pWindow) {
// get back its' dimensions from position and size
pWindow->m_vRealPosition = pWindow->m_vPosition;
pWindow->m_vRealSize = pWindow->m_vSize;
-
- g_pXWaylandManager->setWindowSize(pWindow, pWindow->m_vRealSize.goalv());
}
} else {
// if it now got fullscreen, make it fullscreen
@@ -616,10 +615,10 @@ void CHyprDwindleLayout::fullscreenRequestForWindow(CWindow* pWindow) {
// apply new pos and size being monitors' box
pWindow->m_vRealPosition = PMONITOR->vecPosition;
pWindow->m_vRealSize = PMONITOR->vecSize;
-
- g_pXWaylandManager->setWindowSize(pWindow, pWindow->m_vRealSize.goalv());
}
+ g_pXWaylandManager->setWindowSize(pWindow, pWindow->m_vRealSize.goalv());
+
g_pCompositor->moveWindowToTop(pWindow);
// we need to fix XWayland windows by sending them to NARNIA
diff --git a/src/managers/InputManager.cpp b/src/managers/InputManager.cpp
index 29f64f56..2b59ea51 100644
--- a/src/managers/InputManager.cpp
+++ b/src/managers/InputManager.cpp
@@ -116,7 +116,7 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) {
if (time)
wlr_idle_notify_activity(g_pCompositor->m_sWLRIdle, g_pCompositor->m_sSeat.seat);
- Vector2D surfaceLocal = surfacePos == Vector2D(-1337, -1337) ? surfaceCoords : Vector2D(g_pCompositor->m_sWLRCursor->x, g_pCompositor->m_sWLRCursor->y) - surfacePos;
+ Vector2D surfaceLocal = surfacePos == Vector2D(-1337, -1337) ? surfaceCoords : mouseCoords - surfacePos;
if (pFoundWindow) {
if (g_pConfigManager->getInt("input:follow_mouse") == 0 && !refocus) {