diff --git a/Sources/Kapture/OverlayView.swift b/Sources/Kapture/OverlayView.swift index b526372..457b1b6 100644 --- a/Sources/Kapture/OverlayView.swift +++ b/Sources/Kapture/OverlayView.swift @@ -97,7 +97,9 @@ final class OverlayView: NSView { } // Esc hint — the only way out once clicks are consumed by the tap. - let hint = "Drag to select · hover + click a window to capture it · Esc to cancel" + let hint = frozenImage != nil + ? "Frozen screen · drag to select · Esc to cancel" + : "Drag to select · hover + click a window to capture it · Esc to cancel" let hintAttrs: [NSAttributedString.Key: Any] = [ .font: NSFont.monospacedSystemFont(ofSize: 12, weight: .medium), .foregroundColor: NSColor.white.withAlphaComponent(0.85), @@ -115,22 +117,17 @@ final class OverlayView: NSView { guard let controller else { return } - // Frozen mode: no window highlight; the marquee is cut straight out - // of the still image so it shows the frozen pixels. - if frozenImage != nil { + // Frozen mode: same look as live mode — a dark veil over everything, + // with the selection showing the frozen pixels undimmed. + if let frozenImage { + NSColor.black.withAlphaComponent(0.35).setFill() + NSBezierPath(rect: bounds).fill() + if let sel = controller.marqueeRect, sel.width > 0, sel.height > 0 { let vf = viewRect(sel) - // Dim everything except the selection (even-odd fill). - let maskPath = CGMutablePath() - maskPath.addRect(bounds) - maskPath.addRect(vf) NSGraphicsContext.current?.saveGraphicsState() - let ctx = NSGraphicsContext.current?.cgContext - ctx?.addPath(maskPath) - ctx?.fillPath(using: .evenOdd) - NSColor.black.withAlphaComponent(0.35).setFill() - ctx?.addPath(maskPath) - ctx?.fillPath(using: .evenOdd) + NSBezierPath(rect: vf).addClip() + drawFrozen(frozenImage) NSGraphicsContext.current?.restoreGraphicsState() let border = NSBezierPath(rect: vf) diff --git a/build-app.sh b/build-app.sh index 2a188d9..564643e 100755 --- a/build-app.sh +++ b/build-app.sh @@ -108,9 +108,9 @@ cat > "$APP/Contents/Info.plist" <<'PLIST' CFBundleIconFile Icon CFBundleShortVersionString - 1.10.0 + 1.10.1 CFBundleVersion - 100 + 101 LSUIElement NSHighResolutionCapable