diff options
Diffstat (limited to 'sway/desktop/xwayland.c')
-rw-r--r-- | sway/desktop/xwayland.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c index 6de1365d..413dbf8b 100644 --- a/sway/desktop/xwayland.c +++ b/sway/desktop/xwayland.c | |||
@@ -59,6 +59,13 @@ static void unmanaged_handle_map(struct wl_listener *listener, void *data) { | |||
59 | surface->ly = xsurface->y; | 59 | surface->ly = xsurface->y; |
60 | desktop_damage_surface(xsurface->surface, surface->lx, surface->ly, true); | 60 | desktop_damage_surface(xsurface->surface, surface->lx, surface->ly, true); |
61 | 61 | ||
62 | if (!wlr_xwayland_surface_is_unmanaged(xsurface)) { | ||
63 | struct sway_seat *seat = input_manager_current_seat(input_manager); | ||
64 | struct wlr_xwayland *xwayland = seat->input->server->xwayland; | ||
65 | wlr_xwayland_set_seat(xwayland, seat->wlr_seat); | ||
66 | seat_set_focus_surface(seat, xsurface->surface); | ||
67 | } | ||
68 | |||
62 | // TODO: we don't send surface enter/leave events to xwayland unmanaged | 69 | // TODO: we don't send surface enter/leave events to xwayland unmanaged |
63 | // surfaces, but xwayland doesn't support HiDPI anyway | 70 | // surfaces, but xwayland doesn't support HiDPI anyway |
64 | } | 71 | } |