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

Taskbar: Clicking a window button now toggles minimized state.

This commit is contained in:
Andreas Kling 2019-04-24 02:48:02 +02:00
parent d7cf841d3d
commit 16cbfd3f4e

View file

@ -25,9 +25,14 @@ Window& WindowList::ensure_window(const WindowIdentifier& identifier)
return *it->value;
auto window = make<Window>(identifier);
window->set_button(aid_create_button(identifier));
window->button()->on_click = [identifier] (GButton&) {
window->button()->on_click = [window = window.ptr(), identifier] (GButton&) {
WSAPI_ClientMessage message;
message.type = WSAPI_ClientMessage::Type::WM_SetActiveWindow;
if (window->is_minimized() || !window->is_active()) {
message.type = WSAPI_ClientMessage::Type::WM_SetActiveWindow;
} else {
message.type = WSAPI_ClientMessage::Type::WM_SetWindowMinimized;
message.wm.minimized = true;
}
message.wm.client_id = identifier.client_id();
message.wm.window_id = identifier.window_id();
bool success = GEventLoop::post_message_to_server(message);