1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:57:45 +00:00

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.
This commit is contained in:
Andreas Kling 2021-03-25 23:27:11 +01:00
parent 1108c41790
commit e9db10e3a9
6 changed files with 6 additions and 22 deletions

View file

@ -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;