From e08195d240f54049745c503ba736cf99a9c09b25 Mon Sep 17 00:00:00 2001 From: "wouter@wouterbijlsma.nl" Date: Sun, 2 Jun 2024 15:14:20 +0200 Subject: [PATCH] Fix initial xdg-decoration toplevel decoration mode negotiation Clients using zxdg_decoration_manager_v1::get_toplevel_decoration may expect a receiving a zxdg_toplevel_decoration_v1::configure event to determine the initial decoration mode, without having to go through a zxdg_toplevel_decoration_v1::set_mode request. Hyprland was not sending this event, resulting in unwanted decorations being drawn. Specifically, clients using libdecor, e.g. applications using recent GLFW, would draw GTK decorations with artefacts. This change fixes these. --- src/protocols/XDGDecoration.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/protocols/XDGDecoration.cpp b/src/protocols/XDGDecoration.cpp index 5a4cf68d6c9..021a11410fb 100644 --- a/src/protocols/XDGDecoration.cpp +++ b/src/protocols/XDGDecoration.cpp @@ -26,6 +26,8 @@ CXDGDecoration::CXDGDecoration(SP resource_, wl_resou LOGM(LOG, "unsetMode. Sending MODE_SERVER_SIDE."); resource->sendConfigure(ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE); }); + + resource->sendConfigure(ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE); } bool CXDGDecoration::good() {