From 3bae2d57da6dd768040d3a8c4fb0f707bf26d665 Mon Sep 17 00:00:00 2001 From: Frank Praznik Date: Thu, 18 Aug 2022 12:39:47 -0400 Subject: [PATCH] wayland: Set the libdecor app ID after visibility calls Set the frame app ID after toggling visibility or the name displayed in window manager task switchers may not display correctly. --- src/video/wayland/SDL_waylandwindow.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/video/wayland/SDL_waylandwindow.c b/src/video/wayland/SDL_waylandwindow.c index 68d2d087b..8d5c70234 100644 --- a/src/video/wayland/SDL_waylandwindow.c +++ b/src/video/wayland/SDL_waylandwindow.c @@ -1217,6 +1217,7 @@ void Wayland_ShowWindow(_THIS, SDL_Window *window) if (data->shell_surface.libdecor.frame) { /* If the frame already exists, just set the visibility. */ libdecor_frame_set_visibility(data->shell_surface.libdecor.frame, true); + libdecor_frame_set_app_id(data->shell_surface.libdecor.frame, c->classname); } else { data->shell_surface.libdecor.frame = libdecor_decorate(c->shell.libdecor, data->surface, @@ -1416,6 +1417,7 @@ void Wayland_HideWindow(_THIS, SDL_Window *window) if (WINDOW_IS_LIBDECOR(data, window)) { if (wind->shell_surface.libdecor.frame) { libdecor_frame_set_visibility(wind->shell_surface.libdecor.frame, false); + libdecor_frame_set_app_id(wind->shell_surface.libdecor.frame, data->classname); } } else #endif