diff --git a/src/Fl_Window.cxx b/src/Fl_Window.cxx index 7948ad13f..ef512dc8b 100644 --- a/src/Fl_Window.cxx +++ b/src/Fl_Window.cxx @@ -243,8 +243,8 @@ void Fl_Window::default_xclass(const char *xc) and the second one if the first is 'x'. Thus "foo" turns into "foo, Foo", and "xprog.1" turns into "xprog, XProg". - Under Wayland, this is used to set the "application identifier" of toplevel, - bordered windows. If not set, the executable name is used. + Under Wayland, this is used to set the "application identifier" of toplevel + windows. If not set, the executable name is used. Under Microsoft Windows, this string is used as the name of the WNDCLASS structure. The user should avoid names that may collide with diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx index fa8c2cd16..c41b4d08a 100644 --- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx @@ -1562,6 +1562,8 @@ void Fl_Wayland_Window_Driver::makeWindow() xdg_surface_add_listener(new_window->xdg_surface, &xdg_surface_listener, new_window); new_window->xdg_toplevel = xdg_surface_get_toplevel(new_window->xdg_surface); xdg_toplevel_add_listener(new_window->xdg_toplevel, &xdg_toplevel_listener, new_window); + xdg_toplevel_set_app_id(new_window->xdg_toplevel, + pWindow->xclass() ? pWindow->xclass() : get_prog_name()); if (pWindow->label()) xdg_toplevel_set_title(new_window->xdg_toplevel, pWindow->label()); wl_surface_commit(new_window->wl_surface); pWindow->border(0);