From 301e6153e1748c8b5e3e03cb19ea9e0052dcd26c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Mon, 10 Jul 2023 18:02:40 +0800 Subject: [PATCH] WM/DE (Linux): revert 2486e68fe32a932f2ff83653ff292759733e9f0a because it seems to cause too many issues Ref: #495 #489 #481#480 --- src/detection/displayserver/linux/wmde.c | 49 +++++++++++++----------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/src/detection/displayserver/linux/wmde.c b/src/detection/displayserver/linux/wmde.c index abb39fc9..b563bc83 100644 --- a/src/detection/displayserver/linux/wmde.c +++ b/src/detection/displayserver/linux/wmde.c @@ -60,47 +60,52 @@ static void applyPrettyNameIfWM(FFDisplayServerResult* result, const char* name) if(!ffStrSet(name)) return; - if(strcasestr(name, "kwin") != NULL) - ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_KWIN); + if( + strcasecmp(name, "kwin_wayland") == 0 || + strcasecmp(name, "kwin_wayland_wrapper") == 0 || + strcasecmp(name, "kwin_x11") == 0 || + strcasecmp(name, "kwin_x11_wrapper") == 0 || + strcasecmp(name, "kwin") == 0 + ) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_KWIN); else if( strcasecmp(name, "gnome-shell") == 0 || strcasecmp(name, "gnome shell") == 0 || strcasecmp(name, "gnome-session-binary") == 0 || - strcasestr(name, "mutter") != NULL - ) - ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_MUTTER); + strcasecmp(name, "Mutter") == 0 + ) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_MUTTER); else if( strcasecmp(name, "cinnamon-session") == 0 || - strcasestr(name, "muffin") != NULL - ) - ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_MUFFIN); - else if(strcasestr(name, "sway") != NULL) + strcasecmp(name, "Muffin") == 0 || + strcasecmp(name, "Mutter (Muffin)") == 0 + ) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_MUFFIN); + else if(strcasecmp(name, "sway") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_SWAY); - else if(strcasestr(name, "weston") != NULL) + else if(strcasecmp(name, "weston") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_WESTON); - else if(strcasestr(name, "wayfire") != NULL) + else if(strcasecmp(name, "wayfire") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_WAYFIRE); - else if(strcasestr(name, "openbox") != NULL) + else if(strcasecmp(name, "openbox") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_OPENBOX); - else if(strcasestr(name, "xfwm4") != NULL) + else if(strcasecmp(name, "xfwm4") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_XFWM4); - else if(strcasestr(name, "marco") != NULL) + else if(strcasecmp(name, "Marco") == 0 || + strcasecmp(name, "Metacity (Macro)") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_MARCO); - else if(strcasestr(name, "xmonad") != NULL) + else if(strcasecmp(name, "xmonad") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_XMONAD); - else if(strcasestr(name, "wslg") != NULL) + else if(strcasecmp(name, "WSLg") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_WSLG); - else if(strcasestr(name, "dwm") != NULL) + else if(strcasecmp(name, "dwm") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_DWM); - else if(strcasestr(name, "bspwm") != NULL) + else if(strcasecmp(name, "bspwm") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_BSPWM); - else if(strcasestr(name, "tinywm") != NULL) + else if(strcasecmp(name, "tinywm") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_TINYWM); - else if(strcasestr(name, "qtile") != NULL) + else if(strcasecmp(name, "qtile") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_QTILE); - else if(strcasestr(name, "herbstluftwm") != NULL) + else if(strcasecmp(name, "herbstluftwm") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_HERBSTLUFTWM); - else if(strcasestr(name, "icewm") != NULL) + else if(strcasecmp(name, "icewm") == 0) ffStrbufSetS(&result->wmPrettyName, FF_WM_PRETTY_ICEWM); }