view/xwayland: avoid focusing views that don't want focus

XWayland views can self-declare that they don't want keyboard focus via
the ICCCM WM_HINTS property. Most of the logic is already in place to
avoid giving focus to such views (e.g. taskbars).

Add a couple of missing pieces to make this work:

- Hook up view_isfocusable() to look at WM_HINTS for XWayland views
- Adjust desktop_focus_topmost_mapped_view() to skip unfocusable views
This commit is contained in:
John Lindgren 2023-09-23 11:51:47 -04:00 committed by Johan Malm
parent d503370a77
commit 7e72bf975f
10 changed files with 29 additions and 13 deletions

View file

@ -227,7 +227,7 @@ handle_unlock(struct wl_listener *listener, void *data)
{
struct session_lock *lock = wl_container_of(listener, lock, unlock);
session_lock_destroy(lock);
desktop_focus_topmost_mapped_view(g_server);
desktop_focus_topmost_view(g_server);
}
static void