aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--river/Cursor.zig4
-rw-r--r--river/XwaylandOverrideRedirect.zig4
2 files changed, 6 insertions, 2 deletions
diff --git a/river/Cursor.zig b/river/Cursor.zig
index 4557bad..f66d2be 100644
--- a/river/Cursor.zig
+++ b/river/Cursor.zig
@@ -317,7 +317,9 @@ fn handleButton(listener: *wl.Listener(*wlr.Pointer.event.Button), event: *wlr.P
},
.xwayland_override_redirect => |override_redirect| {
if (!build_options.xwayland) unreachable;
- if (override_redirect.xwayland_surface.overrideRedirectWantsFocus()) {
+ if (override_redirect.xwayland_surface.overrideRedirectWantsFocus() and
+ override_redirect.xwayland_surface.icccmInputModel() != .none)
+ {
self.seat.setFocusRaw(.{ .xwayland_override_redirect = override_redirect });
}
},
diff --git a/river/XwaylandOverrideRedirect.zig b/river/XwaylandOverrideRedirect.zig
index a6916ec..77cd74b 100644
--- a/river/XwaylandOverrideRedirect.zig
+++ b/river/XwaylandOverrideRedirect.zig
@@ -96,7 +96,9 @@ pub fn handleMap(listener: *wl.Listener(*wlr.XwaylandSurface), xwayland_surface:
xwayland_surface.surface.?.events.commit.add(&self.commit);
- if (self.xwayland_surface.overrideRedirectWantsFocus()) {
+ if (self.xwayland_surface.overrideRedirectWantsFocus() and
+ self.xwayland_surface.icccmInputModel() != .none)
+ {
server.input_manager.defaultSeat().setFocusRaw(.{ .xwayland_override_redirect = self });
}
}