summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibGUI
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/Libraries/LibGUI')
-rw-r--r--Userland/Libraries/LibGUI/Event.h9
-rw-r--r--Userland/Libraries/LibGUI/WindowManagerServerConnection.cpp6
-rw-r--r--Userland/Libraries/LibGUI/WindowManagerServerConnection.h1
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;
};
}