1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 20:17:44 +00:00

WindowServer: Restore modal chains from the Taskbar and Switcher

And only show modeless windows in WindowSwitcher.
This commit is contained in:
thankyouverycool 2022-08-22 18:18:56 -04:00 committed by Andreas Kling
parent 5a0472d8d2
commit 6f316d59f4
4 changed files with 14 additions and 5 deletions

View file

@ -90,8 +90,7 @@ void WindowSwitcher::on_key_event(KeyEvent const& event)
if (event.type() == Event::KeyUp) {
if (event.key() == (m_mode == Mode::ShowAllWindows ? Key_Super : Key_Alt)) {
if (auto* window = selected_window()) {
window->set_minimized(false);
WindowManager::the().move_to_front_and_make_active(*window);
WindowManager::the().restore_modal_chain(*window);
}
WindowManager::the().set_highlight_window(nullptr);
hide();
@ -227,7 +226,7 @@ void WindowSwitcher::refresh()
auto add_window_stack_windows = [&](WindowStack& window_stack) {
window_stack.for_each_window_of_type_from_front_to_back(
WindowType::Normal, [&](Window& window) {
if (window.is_frameless())
if (window.is_frameless() || window.is_modal())
return IterationDecision::Continue;
++window_count;
longest_title_width = max(longest_title_width, wm.font().width(window.computed_title()));