Francois Gouget : winex11: Set res_class to the program name for Crostini.

Alexandre Julliard julliard at winehq.org
Fri Apr 17 16:12:55 CDT 2020


Module: wine
Branch: master
Commit: 6eb05dab7c83893684b5e17e9e3a765835d77fcd
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=6eb05dab7c83893684b5e17e9e3a765835d77fcd

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Fri Apr 17 00:47:16 2020 +0200

winex11: Set res_class to the program name for Crostini.

GNOME implements the startup notification protocol correctly which
means it checks StartupWMClass against both WM name (res_name) and
WM class (res_class). Thus it does not need this patch.
The situation is different for desktop environments that thunk to
Wayland such as Crostini. Wayland does not have separate concepts
that WM name and WM class can be mapped to. So Crostini decided to
only use res_class resulting in it trying to match 'Wine' to the
program name stored in StartupWMClass.
While Crostini's choice is unfortunate for Wine, most other
applications (e.g. all GTK applications) already store the same value
in both WM name and class. So in the interest of compatiblity it makes
sense for Wine to do the same.

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winex11.drv/window.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 4676b09935..52e345ceb6 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -822,10 +822,8 @@ static void set_initial_wm_hints( Display *display, Window window )
     /* class hints */
     if ((class_hints = XAllocClassHint()))
     {
-        static char wine[] = "Wine";
-
         class_hints->res_name = process_name;
-        class_hints->res_class = wine;
+        class_hints->res_class = process_name;
         XSetClassHint( display, window, class_hints );
         XFree( class_hints );
     }




More information about the wine-cvs mailing list