kiosk-shell: Separate (keyboard) input focus from xdg-shell toplevel window activation
- Nov 12, 2021
-
-
Marius Vlad authored
The seat_cap listener was to register a signal for keyboard_focus, which we no longer use. Remove it entirely to avoid dead code. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com> Suggested-by:
Derek Foreman <derek.foreman@collabora.com>
-
Marius Vlad authored
As kiosk-shell can't cope with multiple seat add a warning and avoid creating any new seats. With it, this guards against potentially receiving an invalid seat. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
With the seperation of surface activation and keyboard input, a special corner case arose for child top-level windows when surfaces are being destroyed. To make sure we never pick the wrong window to activate upon destruction, we verify if the current focused surface is different than the one being destroyed. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
Just like desktop-shell, we shouldn't be dependent on having a keyboard be present in order to activate a window/surface. This adds a libweston helper to retrieve the first available seat, and to use it in order to avoid going over the seat list. We also encapsulate the activation of the surface in one place, and use it on surface removal, when the surface has been committed, or for touch/pointer events. With it we also deal with the keyboard focus and shell activation in one place. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-