Notch grab: fn+drag that owns the drag — multi-capture, typeable note, top-anchored - #108
Open
sameeeeeeep wants to merge 2 commits into
Open
Notch grab: fn+drag that owns the drag — multi-capture, typeable note, top-anchored#108sameeeeeeep wants to merge 2 commits into
sameeeeeeep wants to merge 2 commits into
Conversation
…e note, top-anchored Rework the notch feedback/screenshot grab (used by ⌥↓ feedback and the /screen + /reference skills) so it's actually usable: - fn+drag no longer selects the underlying app's TEXT. The region overlay now becomes opaque to the mouse the instant fn is held (armed on fn-hold, before the mouse-down), so it swallows the whole drag instead of letting it fall through; released fn → click-through again. Fixes the blank/garbage grabs over text areas. - Multiple grabs accumulate. StepFeedback gains a `screenshots` array (serialized as `feedback.screenshots`); the note panel shows a live count + a row of thumbnails instead of overwriting a single thumb. - The note field is typeable + focused: the panel re-keys on show/rebuild, and the grab overlay is torn down the moment fn is released so it never sits over the field. - The panel drops from the top edge (notch-top aligned to the menu-bar top), content top-padded to clear the menu bar/notch; the guide card/pill is hidden during capture so the note owns the top. All verified live on the real app. Still open: an intent-first DIRECT grab mode (skip the guide card entirely for /screen + /reference). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ip the card
A GuideMode.grab that bypasses the guide card entirely: begin() branches before the steps
guard into beginGrab(), which sets up one synthetic result and drops straight into the
feedback grab + note panel (model.visible=false, no card, no pill, no ⌥↓ to arm). The note
panel is the only surface; fn+drag captures, multiple accumulate, ↵ finishes and writes the
run. /screen and /reference now fire {mode:"grab"}.
Verified: a run came back id="grab", 7 screenshots accumulated, typed note, outcome completed.
Co-Authored-By: Claude Opus 4.8 <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.
Reworks the notch feedback/screenshot grab (used by ⌥↓ feedback and the new
/screen+/referenceskills) so it's actually usable. All verified live on the real app across several rounds.What's fixed
ignoresMouseEvents = true(click-through) with a passive timer just watching the mouse, so the drag fell through to the app. Now the overlay becomes opaque to the mouse the instant fn is held (armed on fn-hold, before the mouse-down), swallowing the whole drag; release fn → click-through again so normal clicking works. Kills the blank/garbage grabs over text areas.StepFeedbackgains ascreenshotsarray (serialized asfeedback.screenshots); the note panel shows a live count + a row of thumbnails instead of overwriting one.Not included
/screen+/referenceskills live at~/.claude/skills/(user-level, not repo code).Switchboard.appbinary (build artifact)./screen+/reference) — the clean end state that removes this whole class of positioning/key artifact at the source.🤖 Generated with Claude Code