wayland: group all windows with same app_id into one appicon

This commit is contained in:
lkn 2026-06-21 19:10:42 +02:00
parent bebd22cbd7
commit e0edd782d8
1 changed files with 3 additions and 6 deletions

View File

@ -750,8 +750,8 @@ WWindow *wManageWindow(WScreen *scr, WNativeWindow window)
wwin->main_window = wwin->client_win;
/* Wayland native clients have no client_leader or window_group.
* If a matching docked icon exists, group by app_id (wm_class) so
* all instances share one appicon. Otherwise each gets its own. */
* Group by app_id (wm_class): all windows with the same app_id share
* one WApplication and one appicon. */
if (wwin->main_window == WM_NATIVE_NONE
&& wwin->transient_for == WM_NATIVE_NONE
&& wwin->client_leader == WM_NATIVE_NONE
@ -762,10 +762,7 @@ WWindow *wManageWindow(WScreen *scr, WNativeWindow window)
for (tmp = scr->focused_window; tmp; tmp = tmp->next) {
if (tmp != wwin && tmp->wm_class
&& strcmp(tmp->wm_class, wwin->wm_class) == 0
&& tmp->main_window != WM_NATIVE_NONE
&& wApplicationOf(tmp->main_window)
&& wApplicationOf(tmp->main_window)->app_icon
&& wApplicationOf(tmp->main_window)->app_icon->docked) {
&& tmp->main_window != WM_NATIVE_NONE) {
wwin->main_window = tmp->main_window;
break;
}