Skip to content

Feat/region selector toggles - #164

Merged
castdrian merged 6 commits into
itoolio:devfrom
lenisko:feat/region-selector-toggles
Oct 25, 2026
Merged

castdrian merged 6 commits into
itoolio:devfrom
lenisko:feat/region-selector-toggles

Conversation

@lenisko

@lenisko lenisko commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

A few changes to overlay (both screenshot and movie)

  • Space switches between region and window selection both ways, not just once
  • Z toggles the magnifier in the screenshot selector and the pointer position in the recording, scrolling and interval selectors
  • Z flips the "Show magnifier while selecting" setting, like G does for the guides. With that setting off, nothing follows the pointer
  • The hint bar lists "Z for zoom and position" or "Z for position"
  • The recording selector supports L for the last region and remembers recorded areas, shared with screenshots
  • The screenshot selector shows a "Select the area to capture" hint to match recording overlay

Tested, works smooth.

…ezing the screen

The previous fix took a fresh window list once the selector was showing, but
the panels only reach ScreenCaptureKit's list a few milliseconds after they
appear. The first snapshot never contained them, so ishare wasn't excluded
and the freeze-frames still caught the overlay with its dimming and the
crosshair guides at the pointer's starting position. The backdrop capture
now polls the shareable content until it lists every selector panel, giving
up after 500 ms.
…er appears

Now that the selector opens before the freeze-frames are ready, the view had
no backdrop for its first frames and fell back to the coordinate pill meant
for when the magnifier is off, which then vanished as the magnifier took
over. The screenshot flow now tells the selector that backdrops are coming,
and each display holds the pill back until its backdrop arrives. Displays
that never get one, and selectors that are never sent backdrops such as the
interval capture, still show the coordinates.
The region selector opened the window picker with region mode turned off,
so Space only went one way. The two selectors now switch to each other with
Space as often as needed, and the allowsRegionMode flag that no caller set
any more is gone.
…selector

Z flips the same preference as the "Show magnifier while selecting" setting,
the way G does for the guides. Selectors with a frozen frame show the
magnifier, which includes the position, and the others (recording, scrolling
and interval capture) show the coordinate pill instead, so nothing follows
the pointer while the preference is off. The hint bar lists Z for each case,
and RegionSelector.Options drops showsMagnifier since having backdrops now
decides which readout appears.
…electors

The recording selector now offers L for the last region and remembers the
area it records, sharing the store with screenshots. The screenshot selector
shows a "Select the area to capture" hint like the recording and scrolling
ones already do.
@lenisko
lenisko requested a review from castdrian as a code owner October 24, 2026 23:47
@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Code coverage

Area Files Lines Coverage Minimum
App 1 72 / 148 48.6%
Automation 4 347 / 579 59.9%
CLI 3 275 / 325 84.6%
Capture 45 2506 / 7015 35.7% 23.0% met
Editor 28 3839 / 6665 57.6%
Extensions 3 0 / 99 0.0%
Http 42 3823 / 5195 73.6% 70.0% met
ISCU 9 914 / 1054 86.7% 80.0% met
Intents 2 80 / 256 31.2%
LocalShare 3 511 / 671 76.2%
Models 9 505 / 562 89.9%
Preferences 1 11 / 14 78.6%
Recording 25 1976 / 5644 35.0%
Share Extension 1 0 / 202 0.0%
Shared 2 42 / 74 56.8%
Sync 3 276 / 442 62.4%
Util 46 2214 / 5798 38.2%
Views 67 2322 / 15911 14.6%
Widgets 3 0 / 224 0.0%
Total 297 19713 / 50878 38.7%

Every coverage minimum is met.

Measured on a51dc29.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@castdrian
castdrian merged commit 8e68c50 into itoolio:dev Oct 25, 2026
10 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 5.5.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants