Serenity Operating System
at master 43 lines 1.7 kB view raw
1/* 2 * Copyright (c) 2021, the SerenityOS developers. 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <LibIPC/ConnectionToServer.h> 10#include <WindowServer/ScreenLayout.h> 11#include <WindowServer/WindowManagerClientEndpoint.h> 12#include <WindowServer/WindowManagerServerEndpoint.h> 13 14namespace GUI { 15 16class ConnectionToWindowManagerServer final 17 : public IPC::ConnectionToServer<WindowManagerClientEndpoint, WindowManagerServerEndpoint> 18 , public WindowManagerClientEndpoint { 19 IPC_CLIENT_CONNECTION(ConnectionToWindowManagerServer, "/tmp/portal/wm"sv) 20 21public: 22 static ConnectionToWindowManagerServer& the(); 23 24private: 25 ConnectionToWindowManagerServer(NonnullOwnPtr<Core::LocalSocket> socket) 26 : IPC::ConnectionToServer<WindowManagerClientEndpoint, WindowManagerServerEndpoint>(*this, move(socket)) 27 { 28 } 29 30 virtual void window_removed(i32, i32, i32) override; 31 virtual void window_state_changed(i32, i32, i32, u32, u32, bool, bool, bool, bool, i32, DeprecatedString const&, Gfx::IntRect const&, Optional<i32> const&) override; 32 virtual void window_icon_bitmap_changed(i32, i32, i32, Gfx::ShareableBitmap const&) override; 33 virtual void window_rect_changed(i32, i32, i32, Gfx::IntRect const&) override; 34 virtual void applet_area_size_changed(i32, Gfx::IntSize) override; 35 virtual void super_key_pressed(i32) override; 36 virtual void super_space_key_pressed(i32) override; 37 virtual void super_d_key_pressed(i32) override; 38 virtual void super_digit_key_pressed(i32, u8) override; 39 virtual void workspace_changed(i32, u32, u32) override; 40 virtual void keymap_changed(i32, DeprecatedString const&) override; 41}; 42 43}