Repository navigation
chat: the chats tree looks like the file tree - #7
Merged
Merged
Conversation
Its rows now take the workbench file tree's look, value for value: label padding 3 and no margin (a row was 32pt tall, now 26pt, as a file row is), the body font, the heading font on a client's row as on the open folder's, the expander's rounded corners and 450ms fold, and the icon tint: each row's palette colour by its place in the tree, counted as the file tree counts folders, faded into the window by how far the pointer is. A chat open in a tab reads in the window's text colour, as an open file does. Fizzy's core holds the glyph slots and the caret but not the row style itself, so the values are copied from `files.zig`. Rows are also named for demo tapes: `chat.group:<client>`, `chat.group:<client>:<folder>`, `chat.chat:<path>`.
foxnne
marked this pull request as ready for review
October 16, 2026 14:36
foxnne
added this pull request to stack #12
October 16, 2026 14:53
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #6 (and #5 below it).
What changes
The Chats sidebar tree now looks like the workbench's file tree:
label padding (6), so a row is 26pt tall like a file row, not 32pt.
as the open folder's row does at the top of the file tree (was bold body).
core.palette(orHost.fileRowFillColor, as the file tree asks) by its place in the tree, counted the way thefile tree counts folders, faded into the window fill by the pointer's distance from the row.
Was a flat grey.
does; others in the control text colour.
already the file tree's, and are unchanged.
The age at the right of a chat row and the + on a group row are the chat's own and stay, padded
like the labels so they don't make the row taller.
Fizzy's core has no shared tree-row style.
core.widgetsgives the glyph slot(
treeRowGlyph,treeRowIconOptions), the caret (treeCaret) andhoverRestFill, but therow's fills, label padding, fonts, expander options and the pointer-distance icon tint are
written only inside the workbench's
files.zig(drawRow,editableLabel,filterLabel).This PR copies those values and says where they came from; fizzy is unchanged. A shared
core.widgetstree-row style would let both trees (and the next one) take it from one place.Also: rows are named for demo tapes (
chat.group:<client>,chat.group:<client>:<folder>,chat.chat:<path>), free when no tape asks for anchors. The captures below were driven by them.How it was seen
macOS, Debug fizzy from
main, sandbox profile with anagentclient and two folders ofseeded chats. A demo tape opened the workbench explorer on a demo folder (expanded
src, openedmain.zig, hoveredREADME.md), and another opened Chats, expandedfizzy, opened one chat andhovered the next. Cropped side by side at 2x: row pitch is 53px in both trees, the caret and
first glyph sit at the same x, selected and hovered rows have the same rounded fill, the open
row's name has the same warm text colour, the top row's heading weight matches, and icons are
tinted from the palette and fade with distance from the pointer in both.
zig fmt --checkclean.
🤖 Generated with Claude Code