|
|
@ -273,7 +273,7 @@ static void handle_tablet_tool_tip(struct sway_seat *seat,
|
|
|
|
// Handle tapping on an xwayland unmanaged view
|
|
|
|
// Handle tapping on an xwayland unmanaged view
|
|
|
|
else if ((xsurface = wlr_xwayland_surface_try_from_wlr_surface(surface)) &&
|
|
|
|
else if ((xsurface = wlr_xwayland_surface_try_from_wlr_surface(surface)) &&
|
|
|
|
xsurface->override_redirect &&
|
|
|
|
xsurface->override_redirect &&
|
|
|
|
wlr_xwayland_or_surface_wants_focus(xsurface)) {
|
|
|
|
wlr_xwayland_surface_override_redirect_wants_focus(xsurface)) {
|
|
|
|
struct wlr_xwayland *xwayland = server.xwayland.wlr_xwayland;
|
|
|
|
struct wlr_xwayland *xwayland = server.xwayland.wlr_xwayland;
|
|
|
|
wlr_xwayland_set_seat(xwayland, seat->wlr_seat);
|
|
|
|
wlr_xwayland_set_seat(xwayland, seat->wlr_seat);
|
|
|
|
seat_set_focus_surface(seat, xsurface->surface, false);
|
|
|
|
seat_set_focus_surface(seat, xsurface->surface, false);
|
|
|
@ -521,7 +521,7 @@ static void handle_button(struct sway_seat *seat, uint32_t time_msec,
|
|
|
|
if (surface &&
|
|
|
|
if (surface &&
|
|
|
|
(xsurface = wlr_xwayland_surface_try_from_wlr_surface(surface)) &&
|
|
|
|
(xsurface = wlr_xwayland_surface_try_from_wlr_surface(surface)) &&
|
|
|
|
xsurface->override_redirect &&
|
|
|
|
xsurface->override_redirect &&
|
|
|
|
wlr_xwayland_or_surface_wants_focus(xsurface)) {
|
|
|
|
wlr_xwayland_surface_override_redirect_wants_focus(xsurface)) {
|
|
|
|
struct wlr_xwayland *xwayland = server.xwayland.wlr_xwayland;
|
|
|
|
struct wlr_xwayland *xwayland = server.xwayland.wlr_xwayland;
|
|
|
|
wlr_xwayland_set_seat(xwayland, seat->wlr_seat);
|
|
|
|
wlr_xwayland_set_seat(xwayland, seat->wlr_seat);
|
|
|
|
seat_set_focus_surface(seat, xsurface->surface, false);
|
|
|
|
seat_set_focus_surface(seat, xsurface->surface, false);
|
|
|
@ -667,7 +667,7 @@ static void handle_touch_down(struct sway_seat *seat,
|
|
|
|
double sx, sy;
|
|
|
|
double sx, sy;
|
|
|
|
node_at_coords(seat, seat->touch_x, seat->touch_y, &surface, &sx, &sy);
|
|
|
|
node_at_coords(seat, seat->touch_x, seat->touch_y, &surface, &sx, &sy);
|
|
|
|
|
|
|
|
|
|
|
|
if (surface && wlr_surface_accepts_touch(wlr_seat, surface)) {
|
|
|
|
if (surface && wlr_surface_accepts_touch(surface, wlr_seat)) {
|
|
|
|
if (seat_is_input_allowed(seat, surface)) {
|
|
|
|
if (seat_is_input_allowed(seat, surface)) {
|
|
|
|
cursor->simulating_pointer_from_touch = false;
|
|
|
|
cursor->simulating_pointer_from_touch = false;
|
|
|
|
seatop_begin_touch_down(seat, surface, event, sx, sy, lx, ly);
|
|
|
|
seatop_begin_touch_down(seat, surface, event, sx, sy, lx, ly);
|
|
|
|