Skip to content

Put the guard where it can be found - #64

Merged
mukes555 merged 2 commits into
mainfrom
feat/guard-visible
Sep 16, 2026
Merged

mukes555 merged 2 commits into
mainfrom
feat/guard-visible

Conversation

@mukes555

Copy link
Copy Markdown
Owner

You asked where the guard icon went. It was never on a row: a row offered
Kill, Watch and, in Advanced, Details. Guarding a port meant knowing to
right-click it, or already having a port watched, because the only shield on
screen lived in the Watched section, which is not drawn until something is
watched. With nothing watched, there was no shield anywhere.

  • The shield is on every row now, beside Kill: dim grey at rest, bright
    on hover or keyboard selection, orange while the guard is on. It holds the
    same slot in both states, so nothing moves when a row lights up, and it
    asks for confirmation exactly as the right-click item did. VoiceOver
    reaches it as a row action.
  • A guarded port is marked at rest, with an orange shield badge next to
    the process name.
  • One shield, one meaning. The orange shield meant "protected" on a row
    and "guarded" in the Workbench table. Protected is a lock now; the shield
    is the guard everywhere.
  • PORTNANNY_SNAPSHOT_SELECT works for the main view too, which is the only
    way an offscreen render can show a verb that lives on hover.

Watch and Open-in-browser stay on hover: the star shows as a badge once a
port is watched, and the browser has ⌘O and the tip bar, so neither is
reachable only by right-clicking.

Testing

380 unit tests, 0 failures. Rendered the popover from scripted demo data with
:3000 watched and guarded: the badge, the orange shield on that row, the dim
shield on every other row, and all four verbs on the selected row.

🤖 Generated with Claude Code

mukes555 and others added 2 commits September 16, 2026 15:23
A row offered Kill, Watch and, in Advanced, Details. Guarding a port meant
knowing to right-click it, or having something watched already, because the
only shield on screen lived in the watched section, which is not drawn until
a port is watched. The app's own automation, hidden.

Every row now carries the shield beside the star, on hover or keyboard
selection, with the same confirmation the other entry points use, and a
guarded port wears an orange shield badge so it can be told apart at rest.

The orange shield also meant two different things: "protected" on a row,
"guarded" in the Workbench table. Protected is a lock now, and the shield
is the guard everywhere.

PORTNANNY_SNAPSHOT_SELECT now works for the main view too, which is the only
way an offscreen render can show a verb that lives on hover.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
An action nobody can see is not offered, and the shield was only there once
the mouse was on the row. It sits beside Kill now, dimmed at rest and orange
while the guard is on, in the slot it already occupied, so nothing moves
when a row lights up.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mukes555
mukes555 merged commit 520c7e9 into main Sep 16, 2026
2 checks passed
@mukes555 mukes555 mentioned this pull request Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant