feat(tui): overhaul the --gui table layout, theme, and interactions#236
Merged
Conversation
The Name column vanished entirely on real projects: one long license expression (aws-lc-sys is 131 chars) drove a Min constraint past the terminal width and the layout solver collapsed the Length-constrained Name column to zero. Column widths are now capped, include their header text, and Name shrinks last, so every column survives down to 80 cols and long values get a proper `…` ellipsis. The rest is a visual and interaction rework on top of that fix: - rows are 1 line instead of 4, so a 45-line terminal shows 42 packages instead of 10 - dark glassmorphic theme: pure black background with subtle zebra rows, slate chrome with a blue accent; red only means something now (restrictive, incompatible), and the Restrictive column reads Yes/No in color instead of true/false - title bar with project license, package count, restrictive count, active sort, and the running version; the scrollbar gets its own gutter instead of drawing over the last column - footer is one line of key hints, with the full reference behind a `?` help popup - sort mode highlights the actual column header under the cursor instead of the old `[>Name<]` footer widget - Enter opens a package details card: colored status chips (compatibility against the project license, OSI verdict, restrictiveness), the full untruncated license expression, how many other packages share the same license, and the package position in the current view - popups imitate glassmorphism instead of clearing to a solid block: an 80% scrim fades everything behind the modal toward black, and the card frosts the cells underneath toward a slate tint with a lighter sheen at the top edge, so the table shimmers through like translucent glass without competing with the card's text
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.
The Name column vanished entirely on real projects: one long license expression (aws-lc-sys is 131 chars) drove a Min constraint past the terminal width and the layout solver collapsed the Length-constrained Name column to zero. Column widths are now capped, include their header text, and Name shrinks last, so every column survives down to 80 cols and long values get a proper
…ellipsis.Looks like this now:
The rest is a visual and interaction rework on top of that fix:
?help popup[>Name<]footer widget