diff --git a/Userland/DevTools/HackStudio/Locator.cpp b/Userland/DevTools/HackStudio/Locator.cpp index 1b710e9ca3e..3217874b9e1 100644 --- a/Userland/DevTools/HackStudio/Locator.cpp +++ b/Userland/DevTools/HackStudio/Locator.cpp @@ -146,8 +146,7 @@ Locator::Locator(Core::Object* parent) }; m_popup_window = GUI::Window::construct(parent); - // FIXME: This is obviously not a tooltip window, but it's the closest thing to what we want atm. - m_popup_window->set_window_type(GUI::WindowType::Tooltip); + m_popup_window->set_window_type(GUI::WindowType::Popup); m_popup_window->set_rect(0, 0, 500, 200); m_suggestion_view = m_popup_window->set_main_widget(); diff --git a/Userland/Libraries/LibGUI/AutocompleteProvider.cpp b/Userland/Libraries/LibGUI/AutocompleteProvider.cpp index 0d208f1598d..7a6d59c694e 100644 --- a/Userland/Libraries/LibGUI/AutocompleteProvider.cpp +++ b/Userland/Libraries/LibGUI/AutocompleteProvider.cpp @@ -88,7 +88,7 @@ AutocompleteBox::AutocompleteBox(TextEditor& editor) : m_editor(editor) { m_popup_window = GUI::Window::construct(m_editor->window()); - m_popup_window->set_window_type(GUI::WindowType::Tooltip); + m_popup_window->set_window_type(GUI::WindowType::Popup); m_popup_window->set_rect(0, 0, 175, 25); auto& main_widget = m_popup_window->set_main_widget(); diff --git a/Userland/Libraries/LibGUI/ComboBox.cpp b/Userland/Libraries/LibGUI/ComboBox.cpp index dc8f3041c1f..7895b108ff0 100644 --- a/Userland/Libraries/LibGUI/ComboBox.cpp +++ b/Userland/Libraries/LibGUI/ComboBox.cpp @@ -113,6 +113,7 @@ ComboBox::ComboBox() }; m_list_window = add(window()); + m_list_window->set_window_type(GUI::WindowType::Popup); m_list_window->set_frameless(true); m_list_window->set_window_mode(WindowMode::CaptureInput); m_list_window->on_active_input_change = [this](bool is_active_input) { diff --git a/Userland/Services/WindowServer/WindowManager.cpp b/Userland/Services/WindowServer/WindowManager.cpp index 576194d0a56..5d52ae38e86 100644 --- a/Userland/Services/WindowServer/WindowManager.cpp +++ b/Userland/Services/WindowServer/WindowManager.cpp @@ -1421,6 +1421,7 @@ Gfx::IntRect WindowManager::arena_rect_for_type(Screen& screen, WindowType type) case WindowType::Tooltip: case WindowType::Applet: case WindowType::Notification: + case WindowType::Popup: return screen.rect(); default: VERIFY_NOT_REACHED(); diff --git a/Userland/Services/WindowServer/WindowManager.h b/Userland/Services/WindowServer/WindowManager.h index d8ed8fd6203..2a63dd86217 100644 --- a/Userland/Services/WindowServer/WindowManager.h +++ b/Userland/Services/WindowServer/WindowManager.h @@ -302,6 +302,7 @@ public: switch (window_type) { case WindowType::Normal: case WindowType::Tooltip: + case WindowType::Popup: return false; default: return true; @@ -512,6 +513,8 @@ inline IterationDecision WindowManager::for_each_visible_window_from_back_to_fro return IterationDecision::Break; if (for_each_window.template operator()() == IterationDecision::Break) return IterationDecision::Break; + if (for_each_window.template operator()() == IterationDecision::Break) + return IterationDecision::Break; if (for_each_window.template operator()() == IterationDecision::Break) return IterationDecision::Break; return for_each_window.template operator()(); @@ -541,6 +544,8 @@ inline IterationDecision WindowManager::for_each_visible_window_from_front_to_ba return IterationDecision::Break; if (for_each_window.template operator()() == IterationDecision::Break) return IterationDecision::Break; + if (for_each_window.template operator()() == IterationDecision::Break) + return IterationDecision::Break; if (for_each_window.template operator()() == IterationDecision::Break) return IterationDecision::Break; if (for_each_window.template operator()() == IterationDecision::Break) diff --git a/Userland/Services/WindowServer/WindowType.h b/Userland/Services/WindowServer/WindowType.h index 48516597628..632005d0375 100644 --- a/Userland/Services/WindowServer/WindowType.h +++ b/Userland/Services/WindowServer/WindowType.h @@ -19,6 +19,7 @@ enum class WindowType { Notification, Desktop, AppletArea, + Popup, _Count };