diff --git a/Servers/WindowServer/WSWindow.h b/Servers/WindowServer/WSWindow.h index 327da3a4cd..84ffd0da3c 100644 --- a/Servers/WindowServer/WSWindow.h +++ b/Servers/WindowServer/WSWindow.h @@ -42,6 +42,11 @@ public: bool show_titlebar() const { return m_show_titlebar; } void set_show_titlebar(bool show) { m_show_titlebar = show; } + bool is_movable() const + { + return m_type == WSWindowType::Normal || m_type == WSWindowType::Launcher; + } + WSWindowFrame& frame() { return m_frame; } const WSWindowFrame& frame() const { return m_frame; } diff --git a/Servers/WindowServer/WSWindowManager.cpp b/Servers/WindowServer/WSWindowManager.cpp index 6b71e10130..178168d46f 100644 --- a/Servers/WindowServer/WSWindowManager.cpp +++ b/Servers/WindowServer/WSWindowManager.cpp @@ -731,7 +731,7 @@ void WSWindowManager::process_mouse_event(WSMouseEvent& event, WSWindow*& hovere // First check if we should initiate a drag or resize (Logo+LMB or Logo+RMB). // In those cases, the event is swallowed by the window manager. - if (window.type() == WSWindowType::Normal) { + if (window.is_movable()) { if (!window.is_fullscreen() && m_keyboard_modifiers == Mod_Logo && event.type() == WSEvent::MouseDown && event.button() == MouseButton::Left) { hovered_window = &window; start_window_drag(window, event);