summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2022-10-09 18:09:58 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2022-10-22 11:14:53 +0000
commit3d4d88e8fc277c4340a060ea00301654ae67fe65 (patch)
tree347e119a0d66da15d2b5c231a12f5837c9e99332
parent85cff1d192f6e066bd912f9a82d348d1f029e0af (diff)
downloadmetacity-3d4d88e8fc277c4340a060ea00301654ae67fe65.tar.gz
display: put windows with same WM_CLASS in tab list group
Use WM_CLASS as last thing to check if window should be shown in tab list group. GNOME Shell and xfwm4 use WM_CLASS to decide if windows belongs to same application. Also tasklist from libwnck does window grouping based on WM_CLASS. https://gitlab.gnome.org/GNOME/metacity/-/issues/26
-rw-r--r--src/core/display.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/display.c b/src/core/display.c
index eeccf325..17a1a30b 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -4597,6 +4597,12 @@ in_tab_chain (MetaWindow *window,
if (meta_window_same_client (window, focus_window))
return TRUE;
+
+ if (window->res_class != NULL &&
+ *window->res_class != '\0' &&
+ focus_window->res_class != NULL &&
+ strcmp (window->res_class, focus_window->res_class) == 0)
+ return TRUE;
}
return FALSE;