2021-04-14 21:38:53 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2021, the SerenityOS developers.
|
|
|
|
*
|
2021-04-22 01:24:48 -07:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2021-04-14 21:38:53 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2022-02-25 12:27:37 +02:00
|
|
|
#include <LibIPC/ConnectionToServer.h>
|
2021-06-14 21:19:56 -06:00
|
|
|
#include <WindowServer/ScreenLayout.h>
|
2021-04-14 21:38:53 +00:00
|
|
|
#include <WindowServer/WindowManagerClientEndpoint.h>
|
|
|
|
#include <WindowServer/WindowManagerServerEndpoint.h>
|
|
|
|
|
|
|
|
namespace GUI {
|
|
|
|
|
2022-06-01 13:41:34 +02:00
|
|
|
class ConnectionToWindowManagerServer final
|
2022-02-25 12:27:37 +02:00
|
|
|
: public IPC::ConnectionToServer<WindowManagerClientEndpoint, WindowManagerServerEndpoint>
|
2021-04-14 21:38:53 +00:00
|
|
|
, public WindowManagerClientEndpoint {
|
2022-07-19 21:01:04 +02:00
|
|
|
IPC_CLIENT_CONNECTION(ConnectionToWindowManagerServer, "/tmp/portal/wm"sv)
|
2022-01-14 13:12:49 +00:00
|
|
|
|
2021-04-14 21:38:53 +00:00
|
|
|
public:
|
2022-06-01 13:41:34 +02:00
|
|
|
static ConnectionToWindowManagerServer& the();
|
2021-10-31 23:38:04 +01:00
|
|
|
|
|
|
|
private:
|
2023-02-08 23:05:44 +01:00
|
|
|
ConnectionToWindowManagerServer(NonnullOwnPtr<Core::LocalSocket> socket)
|
2022-02-25 12:27:37 +02:00
|
|
|
: IPC::ConnectionToServer<WindowManagerClientEndpoint, WindowManagerServerEndpoint>(*this, move(socket))
|
2021-04-14 21:38:53 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2021-05-02 19:54:34 +02:00
|
|
|
virtual void window_removed(i32, i32, i32) override;
|
2022-12-04 18:02:33 +00:00
|
|
|
virtual void window_state_changed(i32, i32, i32, u32, u32, bool, bool, bool, bool, i32, DeprecatedString const&, Gfx::IntRect const&, Optional<i32> const&) override;
|
2021-05-02 19:54:34 +02:00
|
|
|
virtual void window_icon_bitmap_changed(i32, i32, i32, Gfx::ShareableBitmap const&) override;
|
|
|
|
virtual void window_rect_changed(i32, i32, i32, Gfx::IntRect const&) override;
|
2022-12-06 21:35:32 +00:00
|
|
|
virtual void applet_area_size_changed(i32, Gfx::IntSize) override;
|
2021-05-02 19:54:34 +02:00
|
|
|
virtual void super_key_pressed(i32) override;
|
2021-06-21 19:32:46 -04:00
|
|
|
virtual void super_space_key_pressed(i32) override;
|
2022-06-01 13:40:43 +02:00
|
|
|
virtual void super_d_key_pressed(i32) override;
|
2022-02-23 21:43:50 +01:00
|
|
|
virtual void super_digit_key_pressed(i32, u8) override;
|
2021-11-13 12:11:35 +01:00
|
|
|
virtual void workspace_changed(i32, u32, u32) override;
|
2022-12-04 18:02:33 +00:00
|
|
|
virtual void keymap_changed(i32, DeprecatedString const&) override;
|
2021-04-14 21:38:53 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|