From e93701287031b5de8ad1112196f313fdf3414464 Mon Sep 17 00:00:00 2001 From: Ben Wiederhake Date: Sat, 23 Jan 2021 02:45:03 +0100 Subject: [PATCH] WindowServer: Make dragging maximized windows up no-op That's what that piece of logic is probably supposed to be doing. Let's help it acheive that purpose! Apparently the top of the desktop (i.e. the menubar) was forgotten, so consider it part of the deadzone. --- Userland/Services/WindowServer/WindowManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Userland/Services/WindowServer/WindowManager.cpp b/Userland/Services/WindowServer/WindowManager.cpp index ac66601bf1..f4ce58524c 100644 --- a/Userland/Services/WindowServer/WindowManager.cpp +++ b/Userland/Services/WindowServer/WindowManager.cpp @@ -522,13 +522,14 @@ bool WindowManager::process_ongoing_window_move(MouseEvent& event, Window*& hove const int tiling_deadzone = 10; const int secondary_deadzone = 2; + auto desktop = desktop_rect(); if (m_move_window->is_maximized()) { auto pixels_moved_from_start = event.position().pixels_moved(m_move_origin); if (pixels_moved_from_start > 5) { // dbgln("[WM] de-maximizing window"); m_move_origin = event.position(); - if (m_move_origin.y() <= secondary_deadzone) + if (m_move_origin.y() <= secondary_deadzone + desktop.top()) return true; m_move_window->set_maximized(false, event.position()); m_move_window_origin = m_move_window->position(); @@ -536,7 +537,6 @@ bool WindowManager::process_ongoing_window_move(MouseEvent& event, Window*& hove } else { bool is_resizable = m_move_window->is_resizable(); auto pixels_moved_from_start = event.position().pixels_moved(m_move_origin); - auto desktop = desktop_rect(); if (is_resizable && event.x() <= tiling_deadzone) { if (event.y() <= tiling_deadzone + desktop.top())