diff --git a/Userland/Applets/WorkspacePicker/DesktopStatusWindow.cpp b/Userland/Applets/WorkspacePicker/DesktopStatusWindow.cpp index 51bc541c36..84ac440f6e 100644 --- a/Userland/Applets/WorkspacePicker/DesktopStatusWindow.cpp +++ b/Userland/Applets/WorkspacePicker/DesktopStatusWindow.cpp @@ -1,6 +1,7 @@ /* * Copyright (c) 2021, Peter Elliott * Copyright (c) 2022, the SerenityOS developers. + * Copyright (c) 2022, Jakob-Niklas See * * SPDX-License-Identifier: BSD-2-Clause */ @@ -62,8 +63,13 @@ public: auto column = event.x() / (base_rect.width() + gap()); // Handle case where divider is clicked. - if (rect_for_desktop(row, column).contains(event.position())) + if (rect_for_desktop(row, column).contains(event.position())) { GUI::ConnectionToWindowManagerServer::the().async_set_workspace(row, column); + + set_current_row(row); + set_current_column(column); + update(); + } } virtual void mousewheel_event(GUI::MouseEvent& event) override @@ -82,6 +88,10 @@ public: else row = abs((int)row + direction) % workspace_rows; + set_current_row(row); + set_current_column(column); + update(); + GUI::ConnectionToWindowManagerServer::the().async_set_workspace(row, column); }