╭ changed ──────────────╮ │src/ui/Repo/Commits.zig│ ╰───────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────╮ │405 .label = " message ", │ │406 .bottom_label = bottom_label,│ │407 }); │ │408 - tb.getFocus().focusable = true; │ │408 + tb.getFocus().mode = .all; │ │409 return tb; │ │410 } │ │411 │ ╰──────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │491 break :blk frame; │ │492 }; │ │493 errdefer diff_outer.deinit(allocator); │ │494 + diff_outer.getFocus().mode = .mouse; │ │495 try box.children.put(allocator, diff_outer.getFocus().id, .{ .widget = .{ .box = diff_outer }, .rect = null, .min_size = .{ .width = diff_min_width, .height = null } });│ │496 } │ │497 │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │512 fn addRow(allocator: std.mem.Allocator, box: *wgt.Box(ui.Widget), label: []const u8, link: []const u8) !void { │ │513 var row = try wgt.TextBox.init(allocator, label, .{ .border_style = .hidden, .rounded_corners = true, .wrap_kind = .word }); │ │514 errdefer row.deinit(allocator); │ │514 - row.getFocus().focusable = true; │ │515 + row.getFocus().mode = .all; │ │516 if (link.len != 0) row.getFocus().kind = .{ .custom = link }; │ │517 try box.children.put(allocator, row.getFocus().id, .{ .widget = .{ .text_box = row }, .rect = null, .min_size = null, .max_size = .{ .width = null, .height = 5 } });│ │518 } │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │525 const text = try std.mem.join(self.session.page_arena.allocator(), "\n", lines); │ │526 var tb = try wgt.TextBox.init(allocator, text, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │527 errdefer tb.deinit(allocator); │ │527 - tb.getFocus().focusable = true; │ │528 + tb.getFocus().mode = .all; │ │529 try box.children.put(allocator, tb.getFocus().id, .{ .widget = .{ .text_box = tb }, .rect = null, .min_size = null }); │ │530 } │ │531 │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │536 const link = try commitsLink(self.session.page_arena, self.data.location, oid, 0, path); │ │537 var tb = try wgt.TextBox.init(allocator, path, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │538 errdefer tb.deinit(allocator); │ │538 - tb.getFocus().focusable = true; │ │539 + tb.getFocus().mode = .all; │ │540 tb.getFocus().kind = .{ .custom = link }; │ │541 try box.children.put(allocator, tb.getFocus().id, .{ .widget = .{ .text_box = tb }, .rect = null, .min_size = null }); │ │542 } │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │548 const link = try commitsLink(self.session.page_arena, self.data.location, oid, target_start, path); │ │549 var tb = try wgt.TextBox.init(allocator, label, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │550 errdefer tb.deinit(allocator); │ │550 - tb.getFocus().focusable = true; │ │551 + tb.getFocus().mode = .all; │ │552 tb.getFocus().kind = .{ .custom = link }; │ │553 try box.children.put(allocator, tb.getFocus().id, .{ .widget = .{ .text_box = tb }, .rect = null, .min_size = null }); │ │554 } │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │559 const link = try filesObjectLink(self.session.page_arena, self.data.location, oid); │ │560 var tb = try wgt.TextBox.init(allocator, "view files at this commit", .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │561 errdefer tb.deinit(allocator); │ │561 - tb.getFocus().focusable = true; │ │562 + tb.getFocus().mode = .all; │ │563 tb.getFocus().kind = .{ .custom = link }; │ │564 try box.children.put(allocator, tb.getFocus().id, .{ .widget = .{ .text_box = tb }, .rect = null, .min_size = null }); │ │565 } │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │716 // the file's path, then a row returning to this commit's unfiltered diff. │ │717 var label = try wgt.TextBox.init(allocator, d.path, .{ .border_style = .single, .rounded_corners = true, .wrap_kind = .none });│ │718 errdefer label.deinit(allocator); │ │718 - label.getFocus().focusable = true; │ │719 + label.getFocus().mode = .all; │ │720 try inner.children.put(allocator, label.getFocus().id, .{ .widget = .{ .text_box = label }, .rect = null, .min_size = null }); │ │721 try self.addNavLink(allocator, inner, "← all files", commit.oid, 0, ""); │ │722 } else { │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯