diff --git a/protocols/gtk-shell.xml b/protocols/gtk-shell.xml
new file mode 100644
index 00000000..b0bca8ea
--- /dev/null
+++ b/protocols/gtk-shell.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+ gtk_shell is a protocol extension providing additional features for
+ clients implementing it.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/protocols/kde-appmenu.xml b/protocols/kde-appmenu.xml
new file mode 100644
index 00000000..a9cc4151
--- /dev/null
+++ b/protocols/kde-appmenu.xml
@@ -0,0 +1,51 @@
+
+
+
+
+ SPDX-License-Identifier: MIT
+ ]]>
+
+
+
+
+
+ This interface allows a client to link a window (or wl_surface) to an com.canonical.dbusmenu
+ interface registered on DBus.
+
+
+
+
+
+
+
+
+
+
+
+
+ The DBus service name and object path where the appmenu interface is present
+ The object should be registered on the session bus before sending this request.
+ If not applicable, clients should remove this object.
+
+
+
+ Set or update the service name and object path.
+ Strings should be formatted in Latin-1 matching the relevant DBus specifications.
+
+
+
+
+
+
+
+
+
diff --git a/protocols/meson.build b/protocols/meson.build
index 922a76ed..478c90de 100644
--- a/protocols/meson.build
+++ b/protocols/meson.build
@@ -24,6 +24,8 @@ wayland_xmls = [
'dwl-ipc-unstable-v2.xml',
'wlr-layer-shell-unstable-v1.xml',
'wlr-output-power-management-unstable-v1.xml',
+ 'kde-appmenu.xml',
+ 'gtk-shell.xml',
]
wayland_sources = [
wayland_scanner_code.process(wayland_xmls),