Replace xdg-decoration (needs xdg_toplevel, GTK3 doesn't expose it) with org_kde_kwin_server_decoration (works with wl_surface which GDK provides). On KDE Wayland: binds the manager from the registry, creates a per-surface decoration object, requests mode=None (0). Falls back gracefully on GNOME (protocol not present, GTK's set_decorated(FALSE) already works). X11 fallback via gdk_window_set_decorations(0) unchanged. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
36 lines
1.2 KiB
XML
36 lines
1.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<protocol name="server_decoration">
|
|
<copyright><![CDATA[
|
|
SPDX-FileCopyrightText: 2015 Martin Gräßlin
|
|
SPDX-License-Identifier: LGPL-2.1-or-later
|
|
]]></copyright>
|
|
<interface name="org_kde_kwin_server_decoration_manager" version="1">
|
|
<request name="create">
|
|
<arg name="id" type="new_id" interface="org_kde_kwin_server_decoration"/>
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
|
</request>
|
|
<enum name="mode">
|
|
<entry name="None" value="0"/>
|
|
<entry name="Client" value="1"/>
|
|
<entry name="Server" value="2"/>
|
|
</enum>
|
|
<event name="default_mode">
|
|
<arg name="mode" type="uint"/>
|
|
</event>
|
|
</interface>
|
|
<interface name="org_kde_kwin_server_decoration" version="1">
|
|
<request name="release" type="destructor"/>
|
|
<enum name="mode">
|
|
<entry name="None" value="0"/>
|
|
<entry name="Client" value="1"/>
|
|
<entry name="Server" value="2"/>
|
|
</enum>
|
|
<request name="request_mode">
|
|
<arg name="mode" type="uint"/>
|
|
</request>
|
|
<event name="mode">
|
|
<arg name="mode" type="uint"/>
|
|
</event>
|
|
</interface>
|
|
</protocol>
|