aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/view.zig10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/view.zig b/src/view.zig
index 08b168f..6af7fe2 100644
--- a/src/view.zig
+++ b/src/view.zig
@@ -148,8 +148,14 @@ pub const View = struct {
c.wl_signal_add(&view.wlr_xdg_surface.surface.*.events.commit, &view.listen_commit);
view.mapped = true;
- // TODO: remove this hack
- root.server.input_manager.seats.first.?.data.focus(view);
+
+ // Focus the newly mapped view. Note: if a seat is focusing a different output
+ // it will continue to do so.
+ var it = root.server.input_manager.seats.first;
+ while (it) |seat_node| : (it = seat_node.next) {
+ seat_node.data.focus(view);
+ }
+
view.output.root.arrange();
}