swayfx/sway/desktop
Ryan Dwyer 32cb631143 Give focus to another swaylock surface when output is disconnected
* Have multiple outputs
* Launch swaylock
* Unplug an output (possibly has to be the last "connected" one)
* The swaylock surface on the remaining output would not respond to key
events

This was happening because when the output destroys, focus was not given
to the other swaylock surface.

This patch makes focus be transferred to another surface owned by the
same Wayland client, but only if input was inhibited by the surface
being destroyed, and only if it's in the overlay layer. I figure it's
best to be overly specific and relax the requirements later if needed.

This patch removes a check in seat_set_focus_surface which was
preventing focus from being passed from a layer surface to any other
surface. I don't know of a use case for this check, but it's possible
that this change could produce issues.
2018-10-04 19:36:19 +10:00
..
desktop.c Implement type safe arguments and demote sway_container 2018-09-05 18:01:43 +10:00
idle_inhibit_v1.c Fix crash when destroying an idle-inhibiting client 2018-09-16 23:20:58 +10:00
layer_shell.c Give focus to another swaylock surface when output is disconnected 2018-10-04 19:36:19 +10:00
output.c Rename seat_get_active_child to seat_get_active_tiling_child 2018-09-16 22:01:54 +10:00
render.c Add CSD to border modes 2018-09-27 22:51:37 +10:00
transaction.c Merge pull request #2703 from RyanDwyer/csd-border 2018-10-03 13:03:06 +02:00
xdg_shell.c Remove server-decoration assumption if view supports xdg-decoration 2018-09-27 23:00:10 +10:00
xdg_shell_v6.c Rename view_set_csd_from_client to view_update_csd_from_client 2018-09-27 22:51:37 +10:00
xwayland.c Rename view_set_csd_from_client to view_update_csd_from_client 2018-09-27 22:51:37 +10:00