mirror of
https://github.com/labwc/labwc.git
synced 2025-11-03 09:01:51 -05:00
seat: do not update active_view on layer-shell keyboard focus
...because layer-shell clients are not views and we want to be able to use foreign-toplevel protocol on the active view even if a client such as a panel has taken keyboard focus. Written-by: @Consolatis Fixes: #1336
This commit is contained in:
parent
3a959cc74b
commit
6a2a52c0ad
1 changed files with 7 additions and 2 deletions
|
|
@ -349,8 +349,13 @@ focus_change_notify(struct wl_listener *listener, void *data)
|
|||
struct seat *seat = wl_container_of(listener, seat, focus_change);
|
||||
struct wlr_seat_keyboard_focus_change_event *event = data;
|
||||
struct server *server = seat->server;
|
||||
struct view *view = event->new_surface ?
|
||||
view_from_wlr_surface(event->new_surface) : NULL;
|
||||
struct wlr_surface *surface = event->new_surface;
|
||||
struct view *view = surface ? view_from_wlr_surface(surface) : NULL;
|
||||
|
||||
/* Prevent focus switch to layershell client from updating view state */
|
||||
if (surface && wlr_layer_surface_v1_try_from_wlr_surface(surface)) {
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* If an xwayland-unmanaged surface was focused belonging to the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue