diff --git a/Sources/Kapture/CaptureController.swift b/Sources/Kapture/CaptureController.swift index 910aa0c..a584dec 100644 --- a/Sources/Kapture/CaptureController.swift +++ b/Sources/Kapture/CaptureController.swift @@ -10,10 +10,21 @@ final class CaptureController: NSObject { private var previousApp: NSRunningApplication? private var overlayIDs: [Int] = [] + /// Session event log for debugging (dumped via Copy Diagnostics). + static var sessionLog: [String] = [] + static func log(_ line: String) { + sessionLog.append(line) + if sessionLog.count > 100 { sessionLog.removeFirst() } + NSLog("[Kapture] \(line)") + } + /// Diagnostic snapshot for "Copy Diagnostics" menu item. func diagnostics() -> String { var lines: [String] = [] - lines.append("Kapture diagnostics") + lines.append("Kapture diagnostics — version \(Bundle.main.infoDictionary?["CFBundleShortVersionString"] ?? "?")") + lines.append("--- session log (newest last) ---") + lines.append(contentsOf: Self.sessionLog) + lines.append("--- screens ---") for (i, s) in NSScreen.screens.enumerated() { let scale = s.backingScaleFactor let cgID = (s.deviceDescription[NSDeviceDescriptionKey("NSScreenNumber")] as? NSNumber)?.uint32Value ?? 0 diff --git a/build-app.sh b/build-app.sh index e76d97d..3efc363 100755 --- a/build-app.sh +++ b/build-app.sh @@ -108,9 +108,9 @@ cat > "$APP/Contents/Info.plist" <<'PLIST' CFBundleIconFile Icon CFBundleShortVersionString - 1.6.0 + 1.6.1 CFBundleVersion - 60 + 61 LSUIElement NSHighResolutionCapable