Compare commits

..
1 Commits
Author SHA1 Message Date
TZGyn 3fdc2fca95 Fix vertical offset when capturing the secondary display
The first ScreenCaptureKit Y-flip used the wrong reference edges, shifting
cropped selections on displays below the main screen. Convert each selection
per-display as scY = appKitY - NSScreen.maxY + SCDisplay.maxY, which
matches both the main and secondary displays.

💘 Generated with Crush

Assisted-by: Crush:deepseek-v4-flash-0731
2026-08-12 16:51:18 +08:00
2 changed files with 6 additions and 6 deletions
+4 -4
View File
@@ -180,12 +180,12 @@ final class ScreenCapture {
config.height = Int(CGFloat(display.height) * backingScale)
config.showsCursor = true
// ScreenCaptureKit's Y axis is flipped relative to AppKit
// NSScreen frames. Convert the selection into SCDisplay space
// using the matching NSScreen's top edge, then crop there.
// ScreenCaptureKit uses a different origin than AppKit for
// screens stacked around the main display: per-display,
// SCDisplay y = appKitY - NSScreen.maxY + SCDisplay.maxY.
let scRect = CGRect(
x: rect.minX,
y: screen.frame.maxY - rect.maxY + display.frame.minY,
y: rect.minY - screen.frame.maxY + display.frame.maxY,
width: rect.width,
height: rect.height
)
+2 -2
View File
@@ -108,9 +108,9 @@ cat > "$APP/Contents/Info.plist" <<'PLIST'
<key>CFBundleIconFile</key>
<string>Icon</string>
<key>CFBundleShortVersionString</key>
<string>1.1.7</string>
<string>1.1.8</string>
<key>CFBundleVersion</key>
<string>17</string>
<string>18</string>
<key>LSUIElement</key>
<true/>
<key>NSHighResolutionCapable</key>