Skip to content

window-tracker: check WM_CLASS for sandboxed apps before the app's ID

Mario Sanchez Prada requested to merge issue219 into master

For sandboxed apps, the shell needs to consider the app's ID when matching its windows against the right .desktop file, but that check can't be done before having attempted to match using the WM_CLASS property of the app's window, otherwise apps installing multiple desktop files (e.g. LibreOffice) will always match every single window against the same .desktop file, ignoring hints such as the StartupWMClass key.

This commit moves the call to get_app_from_sandboxed_app_id() after get_app_from_window_wmclass() and before get_app_from_window_pid(), so that we only rely on the sandboxed app's ID when no match has succeed using the WM_CLASS property, but before checking by PID to prevent wrong groups that could be created when the PID of the app inside the sandbox matches the one from a process outside of it.

Closes: #219 (closed)

Merge request reports