diff options
author | Andreas Kling <kling@serenityos.org> | 2021-03-25 23:27:11 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-03-25 23:27:11 +0100 |
commit | e9db10e3a96eae955ebb84751fd6d468de9c3078 (patch) | |
tree | 25a13e38affedad2278878541ab63348fbdbdbb0 /Userland/Services | |
parent | 1108c417900457776b6c063d4003d7d5f3a16880 (diff) | |
download | serenity-e9db10e3a96eae955ebb84751fd6d468de9c3078.zip |
WindowServer+LibGUI: Remove the global menubar :^)
This leaves menu applets running but invisible, and that's a regression
we need to take care of obviously. But not today, because it's getting
too late.
Diffstat (limited to 'Userland/Services')
-rw-r--r-- | Userland/Services/WindowServer/Compositor.h | 1 | ||||
-rw-r--r-- | Userland/Services/WindowServer/MenuManager.cpp | 1 | ||||
-rw-r--r-- | Userland/Services/WindowServer/WindowManager.cpp | 21 | ||||
-rw-r--r-- | Userland/Services/WindowServer/WindowManager.h | 1 |
4 files changed, 5 insertions, 19 deletions
diff --git a/Userland/Services/WindowServer/Compositor.h b/Userland/Services/WindowServer/Compositor.h index 0f10627c57..01fb0e7b8e 100644 --- a/Userland/Services/WindowServer/Compositor.h +++ b/Userland/Services/WindowServer/Compositor.h @@ -81,7 +81,6 @@ private: void init_bitmaps(); void flip_buffers(); void flush(const Gfx::IntRect&); - void draw_menubar(); void run_animations(Gfx::DisjointRectSet&); void notify_display_links(); void start_compose_async_timer(); diff --git a/Userland/Services/WindowServer/MenuManager.cpp b/Userland/Services/WindowServer/MenuManager.cpp index ab8828f764..ac4bf133a1 100644 --- a/Userland/Services/WindowServer/MenuManager.cpp +++ b/Userland/Services/WindowServer/MenuManager.cpp @@ -56,6 +56,7 @@ MenuManager::MenuManager() m_window = Window::construct(*this, WindowType::Menubar); m_window->set_rect(menubar_rect()); + m_window->set_visible(false); m_search_timer = Core::Timer::create_single_shot(0, [this] { m_current_search.clear(); diff --git a/Userland/Services/WindowServer/WindowManager.cpp b/Userland/Services/WindowServer/WindowManager.cpp index 5636caa9f7..ab9ab96852 100644 --- a/Userland/Services/WindowServer/WindowManager.cpp +++ b/Userland/Services/WindowServer/WindowManager.cpp @@ -929,8 +929,7 @@ void WindowManager::process_mouse_event(MouseEvent& event, Window*& hovered_wind MenuManager::the().set_hovered_menu(nullptr); if (MenuManager::the().has_open_menu() - || hitting_menu_in_window_with_active_menu - || menubar_rect().contains(event.position())) { + || hitting_menu_in_window_with_active_menu) { for_each_visible_window_of_type_from_front_to_back(WindowType::MenuApplet, [&](auto& window) { if (!window.rect_in_menubar().contains(event.position())) return IterationDecision::Continue; @@ -1113,22 +1112,15 @@ void WindowManager::clear_resize_candidate() m_resize_candidate = nullptr; } -Gfx::IntRect WindowManager::menubar_rect() const -{ - if (active_fullscreen_window()) - return {}; - return MenuManager::the().menubar_rect(); -} - Gfx::IntRect WindowManager::desktop_rect() const { if (active_fullscreen_window()) return Screen::the().rect(); return { 0, - menubar_rect().bottom() + 1, + 0, Screen::the().width(), - Screen::the().height() - menubar_rect().height() - 28 + Screen::the().height() - 28 }; } @@ -1447,10 +1439,6 @@ Gfx::IntRect WindowManager::maximized_window_rect(const Window& window) const rect.set_y(rect.y() + window.frame().title_bar_rect().height() + window.frame().menubar_rect().height()); rect.set_height(rect.height() - window.frame().title_bar_rect().height() - window.frame().menubar_rect().height()); - // Subtract menu bar - rect.set_y(rect.y() + menubar_rect().height()); - rect.set_height(rect.height() - menubar_rect().height()); - // Subtract taskbar window height if present const_cast<WindowManager*>(this)->for_each_visible_window_of_type_from_back_to_front(WindowType::Taskbar, [&rect](Window& taskbar_window) { rect.set_height(rect.height() - taskbar_window.height()); @@ -1558,7 +1546,6 @@ Gfx::IntPoint WindowManager::get_recommended_window_position(const Gfx::IntPoint // FIXME: Find a better source for this. int taskbar_height = 28; - int menubar_height = MenuManager::the().menubar_rect().height(); const Window* overlap_window = nullptr; for_each_visible_window_of_type_from_front_to_back(WindowType::Normal, [&](Window& window) { @@ -1573,7 +1560,7 @@ Gfx::IntPoint WindowManager::get_recommended_window_position(const Gfx::IntPoint point = overlap_window->position() + shift; point = { point.x() % Screen::the().width(), (point.y() >= (Screen::the().height() - taskbar_height)) - ? menubar_height + Gfx::WindowTheme::current().title_bar_height(Gfx::WindowTheme::WindowType::Normal, palette()) + ? Gfx::WindowTheme::current().title_bar_height(Gfx::WindowTheme::WindowType::Normal, palette()) : point.y() }; } else { point = desired; diff --git a/Userland/Services/WindowServer/WindowManager.h b/Userland/Services/WindowServer/WindowManager.h index b52d065dd4..671167e426 100644 --- a/Userland/Services/WindowServer/WindowManager.h +++ b/Userland/Services/WindowServer/WindowManager.h @@ -121,7 +121,6 @@ public: void move_to_front_and_make_active(Window&); - Gfx::IntRect menubar_rect() const; Gfx::IntRect desktop_rect() const; Gfx::IntRect arena_rect_for_type(WindowType) const; |