╭ changed ─────────────╮ │src/ui/Repo/Header.zig│ ╰──────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭────────────────────────────────────────────────────────────╮ │56 scroll: wgt.Scroll(ui.Widget), │ │57 tab_ids: std.AutoArrayHashMapUnmanaged(usize, void),│ │58 tabs_id: usize, │ │59 + gap_id: usize, │ │60 first_group_width: usize, │ │61 session: *ui.Session, │ │62 │ ╰────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │363 .min_size = null, │ │364 }); │ │365 title_box_owned = true; │ │366 + // a blank row between the title and the tabs, shown only when they wrap │ │367 + const gap_id = blk: { │ │368 + var gap = try wgt.Text.init(allocator, " "); │ │369 + errdefer gap.deinit(allocator); │ │370 + const id = gap.getFocus().id; │ │371 + try box.children.put(allocator, id, .{ .widget = .{ .text = gap }, .rect = null, .min_size = null, .hidden = true });│ │372 + break :blk id; │ │373 + }; │ │374 try box.children.put(allocator, tabs_id, .{ │ │375 .widget = .{ .box = tabs_box }, │ │376 .rect = null, │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │383 .scroll = try wgt.Scroll(ui.Widget).init(allocator, .{ .box = box }, .{ .direction = .horiz, .show_bar = false, .web_native = !session.is_terminal }),│ │384 .tab_ids = tab_ids, │ │385 .tabs_id = tabs_id, │ │386 + .gap_id = gap_id, │ │387 .first_group_width = first_group_width, │ │388 .session = session, │ │389 }; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │427 const wrap = if (content_width) |width| self.first_group_width + back_width + tabs_width > width else false;│ │428 box.options.direction = if (wrap) .vert else .horiz; │ │429 tabs_child.min_size = if (wrap) .{ .width = content_width, .height = null } else null; │ │430 + (box.children.getPtr(self.gap_id) orelse unreachable).hidden = !wrap; │ │431 │ │432 var scroll_constraint = constraint; │ │433 scroll_constraint.min_size.width = viewport_width; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯