Show screenshot window before OCR; fix signing cert setup

This commit is contained in:
2026-08-09 19:08:12 +08:00
parent e814e63c0f
commit c64c7296e2
5 changed files with 194 additions and 56 deletions
+20 -12
View File
@@ -1,8 +1,11 @@
# Kapture
A native macOS menu bar app that captures a screen region and extracts the text
from it using on-device Vision OCR. Press **⌘⇧S**, drag to select an area, and
the recognized text is copied to your clipboard and shown in a floating window.
A native macOS menu bar app that captures a screen region, shows the screenshot
in a window, and extracts text from it on demand with on-device Vision OCR.
Press **⌘⇧S**, drag to select an area, and a window opens with your screenshot.
Click **Get Text** to recognize the text — it is copied to your clipboard and
shown alongside the image.
No network calls, no API keys — everything runs locally.
@@ -10,9 +13,12 @@ No network calls, no API keys — everything runs locally.
- Global hotkey **⌘⇧S** works from any app
- Region selection overlay (all screens, Escape cancels)
- OCR for English, Chinese (simplified/traditional), Japanese, Korean
- Text is auto-copied to the clipboard and shown in a floating window
- Extract text from an existing image file via the menu bar icon
- The screenshot appears in a window (Screenshot / Text tabs) instead of being
instantly OCR'd
- **Get Text** button runs on-device OCR (English, Chinese simplified/traditional,
Japanese, Korean) and auto-copies the result to the clipboard
- **Save PNG…** keeps the screenshot without any OCR
- Open an existing image file (or drag) via the menu bar icon
- Menu bar icon with permission status
## Build & run
@@ -31,10 +37,12 @@ swift run Kapture # runs from terminal (will appear in Dock)
## First launch
1. Click the menu bar icon → **Grant Screen Recording Permission…**
(required so the app can capture the screen; text extraction from files
works without it).
2. Press **⌘⇧S**, drag to select a region, release.
3. The extracted text lands on your clipboard and in the result window.
(required so the app can capture the screen; opening image files works
without it).
2. Press **⌘⇧S**, drag to select a region, release — the screenshot opens in a
window.
3. Click **Get Text** — the extracted text is copied to your clipboard and
shown in the Text tab.
Note: macOS may require re-granting Screen Recording permission after
rebuilding the app, since the binary identity changes.
@@ -53,7 +61,7 @@ swift run Kapture --test-ocr # renders text, OCRs it, prints PASS/FAIL
| Selection | Borderless `NSPanel` overlay per screen, dim + clear-cut rectangle |
| Capture | `CGWindowListCreateImage` (retina-aware) |
| OCR | Vision `VNRecognizeTextRequest` (accurate, multi-language) |
| UI | SwiftUI `MenuBarExtra` + floating result window |
| UI | SwiftUI `MenuBarExtra` + floating result window (Screenshot/Text tabs) |
## Layout
@@ -66,5 +74,5 @@ Sources/Kapture/
OverlayView.swift selection overlay panel + drawing
CaptureController.swift selection flow, screen capture, coordinate mapping
OCRService.swift Vision text recognition
ResultWindow.swift floating result window + image-file extraction
ResultWindow.swift floating result window (screenshot view, Get Text, Save PNG)
```