diff --git a/Userland/Services/WindowServer/WindowFrame.cpp b/Userland/Services/WindowServer/WindowFrame.cpp index 42948d3299..2d8f44bc00 100644 --- a/Userland/Services/WindowServer/WindowFrame.cpp +++ b/Userland/Services/WindowServer/WindowFrame.cpp @@ -10,7 +10,6 @@ #include #include #include -#include #include #include #include @@ -978,10 +977,7 @@ void WindowFrame::latch_window_to_screen_edge(ResizeDirection resize_direction) auto window_rect = m_window.rect(); auto frame_rect = rect(); auto& screen = Screen::closest_to_rect(window_rect); - auto screen_rect = screen.rect(); - - if (screen.is_main_screen()) - screen_rect.shrink(0, 0, TaskbarWindow::taskbar_height(), 0); + auto screen_rect = WindowManager::the().desktop_rect(screen); if (resize_direction == ResizeDirection::UpLeft || resize_direction == ResizeDirection::Up diff --git a/Userland/Services/WindowServer/WindowManager.cpp b/Userland/Services/WindowServer/WindowManager.cpp index 9741d815b5..e5b69f5865 100644 --- a/Userland/Services/WindowServer/WindowManager.cpp +++ b/Userland/Services/WindowServer/WindowManager.cpp @@ -1958,10 +1958,7 @@ Gfx::IntRect WindowManager::tiled_window_rect(Window const& window, WindowTileTy VERIFY(tile_type != WindowTileType::None); auto& screen = Screen::closest_to_rect(window.frame().rect()); - Gfx::IntRect rect = screen.rect(); - - if (screen.is_main_screen()) - rect.set_height(rect.height() - TaskbarWindow::taskbar_height()); + auto rect = desktop_rect(screen); if (tile_type == WindowTileType::Maximized) { auto border_thickness = palette().window_border_thickness(); @@ -2181,9 +2178,10 @@ Gfx::IntPoint WindowManager::get_recommended_window_position(Gfx::IntPoint desir Gfx::IntPoint point; if (overlap_window) { auto& screen = Screen::closest_to_location(desired); + auto available_rect = desktop_rect(screen); point = overlap_window->position() + shift; point = { point.x() % screen.width(), - (point.y() >= (screen.height() - (screen.is_main_screen() ? TaskbarWindow::taskbar_height() : 0))) + (point.y() >= available_rect.height()) ? Gfx::WindowTheme::current().titlebar_height(Gfx::WindowTheme::WindowType::Normal, Gfx::WindowTheme::WindowMode::Other, palette()) : point.y() }; } else {