diff options
Diffstat (limited to 'Userland/Libraries/LibGUI')
-rw-r--r-- | Userland/Libraries/LibGUI/Event.h | 9 | ||||
-rw-r--r-- | Userland/Libraries/LibGUI/WindowManagerServerConnection.cpp | 6 | ||||
-rw-r--r-- | Userland/Libraries/LibGUI/WindowManagerServerConnection.h | 1 |
3 files changed, 16 insertions, 0 deletions
diff --git a/Userland/Libraries/LibGUI/Event.h b/Userland/Libraries/LibGUI/Event.h index edbf4ad2c9..92035a8d05 100644 --- a/Userland/Libraries/LibGUI/Event.h +++ b/Userland/Libraries/LibGUI/Event.h @@ -63,6 +63,7 @@ public: WM_WindowIconBitmapChanged, WM_AppletAreaSizeChanged, WM_SuperKeyPressed, + WM_SuperSpaceKeyPressed, __End_WM_Events, }; @@ -102,6 +103,14 @@ public: } }; +class WMSuperSpaceKeyPressedEvent : public WMEvent { +public: + explicit WMSuperSpaceKeyPressedEvent(int client_id) + : WMEvent(Event::Type::WM_SuperSpaceKeyPressed, client_id, 0) + { + } +}; + class WMAppletAreaSizeChangedEvent : public WMEvent { public: explicit WMAppletAreaSizeChangedEvent(const Gfx::IntSize& size) diff --git a/Userland/Libraries/LibGUI/WindowManagerServerConnection.cpp b/Userland/Libraries/LibGUI/WindowManagerServerConnection.cpp index 681e52489e..b3bc301624 100644 --- a/Userland/Libraries/LibGUI/WindowManagerServerConnection.cpp +++ b/Userland/Libraries/LibGUI/WindowManagerServerConnection.cpp @@ -57,4 +57,10 @@ void WindowManagerServerConnection::super_key_pressed(i32 wm_id) if (auto* window = Window::from_window_id(wm_id)) Core::EventLoop::current().post_event(*window, make<WMSuperKeyPressedEvent>(wm_id)); } + +void WindowManagerServerConnection::super_space_key_pressed(i32 wm_id) +{ + if (auto* window = Window::from_window_id(wm_id)) + Core::EventLoop::current().post_event(*window, make<WMSuperSpaceKeyPressedEvent>(wm_id)); +} } diff --git a/Userland/Libraries/LibGUI/WindowManagerServerConnection.h b/Userland/Libraries/LibGUI/WindowManagerServerConnection.h index eddeaf25e5..990dbd1841 100644 --- a/Userland/Libraries/LibGUI/WindowManagerServerConnection.h +++ b/Userland/Libraries/LibGUI/WindowManagerServerConnection.h @@ -32,6 +32,7 @@ private: virtual void window_rect_changed(i32, i32, i32, Gfx::IntRect const&) override; virtual void applet_area_size_changed(i32, Gfx::IntSize const&) override; virtual void super_key_pressed(i32) override; + virtual void super_space_key_pressed(i32) override; }; } |