Conversation
The drops heatmap was crammed into the Overview tab's right column, capped at 12 rows. Promote it to a dedicated full-screen Drops tab (key '4') so it can use the full window for more rules and history. - Overview right column now just charts + Interfaces table - New 'drops' TabPane + '4' keybinding - tcss: heatmap joins the full-bleed tab panels (1fr height) - Regenerated Overview screenshot (heatmap removed); added drops.svg - README: new Drops tab section, keybinding, screenshot - Bump version to 0.2.0
The RX/TX rate cells auto-scaled (bps/Kbps/Mbps/Gbps), so their text width changed with the value and columns resized tick to tick. - Add format_mbps(): always Mbps, numeric field right-justified to fit 100,000.00 (100 Gbps) so the string is constant width - Pin all InterfaceTable columns to fixed widths (auto_width=False); update_cell uses update_width=False so they never grow - Regenerate Overview screenshot The Summary panel keeps the auto-scaling format_bits_rate for its compact at-a-glance throughput readout.
The rate headers sat left-aligned over right-aligned Mbps values. Set justify=right on the RX rate / TX rate column labels so the headers line up with the numbers below them.
The state breakdown was a cramped single text line (STATE=n STATE=n). Show it as color-coded bars like the protocol breakdown above it, scaled to the busiest state, with counts right-aligned. - ESTABLISHED green, transient/closing states orange (matching the Connections tab's state coloring) - Capped at 5 states so the panel fits on shorter terminals - Regenerate Overview screenshot; update README
- Render protocols and states in fixed orders so rows never reshuffle; only bar lengths change tick to tick. Missing states show an empty bar. - Share label/count/bar field widths between both graphs via a common _bar_row helper so the two sets of bars line up exactly. - Regenerate Overview screenshot.
- Replace the side-by-side two-column layout with nested WAN and LAN sub-tabs (full-width tables, live count in each tab label) - Add app-level w/l bindings to jump to the Connections tab and select the WAN/LAN sub-tab; show_sub() on the widget drives the nested tabs - Give the top-level TabbedContent id=main-tabs and scope all queries to it, since there are now two TabbedContents in the tree - Source and destination (and the NAT reply) are all reverse-DNS resolved when resolution is enabled - Regenerate connections screenshot; update README + keybindings
The DataTable columns auto-sized to content, leaving dead space on the right. Pin the small columns (Proto/State/Packets/Bytes) to fixed widths and divide the remaining width among Source/Destination/NAT by weight, recomputed on resize so the table always fills the terminal. Regenerate connections screenshot.
The LAN table was size 0 while its sub-tab was hidden, so its flex columns stayed pinned at the minimum and didn't stretch when the tab was first shown. - Recompute column widths on TabActivated (deferred via call_after_refresh so the table has its real laid-out width) - Also re-stretch in _fill each tick, and skip size-0 tables in the general resize path - Extract _size_table() to size a single DataTable
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.
Summary
UI and layout improvements for fwtop, targeting the v0.2.0 release.
Changes
Drops heatmap → its own tab
4), so it can use the whole window for more rules and history.Conntrack panel
Connections tab
w/l), each a full-width table with a live flow count in its label.Interfaces panel
Notes
run_test(tab navigation, column widths at multiple terminal sizes, static bar ordering, resolution of both endpoints).