Explain each reading, on hover and in a details view - #3
Merged
Conversation
The status bar could only ever show one number per metric, and no room to say what it meant. This adds two ways to ask. Hovering a reading opens a markdown panel for that metric alone: the user/system split and per-core load bars behind the CPU percentage, cached and swap memory behind the memory fraction, the GPU's name and core count, battery health and cycle count, and used, free and total for every volume regardless of which single figure disk.format picks. That per-metric split is why the readings are now five status bar entries rather than one: an entry is the unit VS Code attaches a hover to. It also means each group can be hidden on its own, and one whose metrics are all off or unavailable disappears instead of sitting there empty. CPU temperature moves up beside the other CPU readings so the group is contiguous. Clicking opens the same detail as a view in the panel, beside Terminal and Problems, which stays put while it is read. It closes by its title bar cross, by clicking the same reading again, or from the palette; clicking a different reading moves the outline instead. The panel carries no System Vitals tab until one is asked for, and closing takes the tab away again. updatefrequencyms now defaults to 10 seconds rather than 2. VS Code redraws an open hover the instant its content changes, so details rebuilt every couple of seconds flicker under the pointer. One interval governs the reading, its hover and the view together, so they never disagree about the same instant, and every metric is sampled once per update to feed all three. The hover is deliberately untrusted markdown: the click carries the only command worth offering, so no command link has to survive a hostile volume name. The view's document loads nothing from anywhere and writes every figure with textContent. Raises the minimum VS Code version to 1.74, for markdown status bar tooltips. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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 status bar could only ever show one number per metric, with no room to say what it meant. This adds two ways to ask, and bumps the extension to 2.0.0.
Hover
Hovering a reading opens a markdown panel for that metric alone: the user/system split and per-core load bars behind the CPU percentage, cached and swap memory behind the memory fraction, the GPU's name and core count, battery health and cycle count, and used/free/total for every volume regardless of which single figure
disk.formatpicks.That per-metric split is why the readings are now five status bar entries rather than one — an entry is the unit VS Code attaches a hover to. Each can now be hidden on its own, and a group whose metrics are all off or unavailable disappears rather than sitting empty.
Click
Clicking opens a details view docked in the panel beside Terminal and Problems, which stays put while it is read. It closes by its title bar ✕, by clicking the same reading again, or from the palette; clicking a different reading moves the outline instead. The panel carries no System Vitals tab until one is asked for.
Breaking changes (hence 2.0.0)
Three things change without being asked to. No setting was removed or renamed, so existing configuration carries over untouched.
updatefrequencymsdefaults to 10s rather than 2s. VS Code redraws an open hover the instant its content changes, so one interval now governs the reading and its details together — they can never show different samples.Notes
default-src 'none', per-view nonce) and writes every figure withtextContent.48 tests pass; VSIX verified to bundle
systeminformationand ship no tests or source maps.🤖 Generated with Claude Code