Skip to content

Mac Apps

trueshot

Tiny menu bar Mac app that captures what is genuinely on screen — even transient UI that other screenshot tools dismiss the moment they activate.

The native Cmd+Shift+5 HUD steals focus. The instant you trigger it, Spotlight collapses, dropdowns close, autocomplete vanishes, hover popovers disappear. So you cannot screenshot the thing you were actually looking at. TrueShot invokes from the menu bar — clicking a menu bar item does not steal focus from Spotlight or other transient UI, so capture happens with the screen genuinely intact.

Four capture modes, source-grouped:

  • Capture Region — drag a marquee anywhere on screen → clipboard or Desktop
  • Capture Entire Screen — full display → clipboard or Desktop

Each capture plays the Tink sound and flashes the menu bar icon green or red. Desktop saves show a macOS-native-style thumbnail floater in the bottom-right (180pt wide, 5-second dismiss, click to open in Preview).

  • Screenshotting Spotlight results. Native screenshot tools dismiss Spotlight. TrueShot does not.
  • Screenshotting menus, dropdowns, autocomplete. Same problem, same fix.
  • Screen Sharing into another Mac. Works during a screen-share session, captures the remote screen content.
  • Any time you need the screen captured exactly as you see it, not as it looks after the screenshot tool activates.

Apple’s ScreenCaptureKit (SCShareableContent.displays) grabs the full display, then SCScreenshotManager.captureImage renders to a CGImage. For region capture, the full-display image is handed to a custom SelectionOverlayWindow for crosshair drag-select; the cropped region is the result.

Menu-bar invocation is the key. Other screenshot apps use a global hotkey, which fires a HUD and breaks the screen state. The menu bar invocation is what makes TrueShot’s promise true.

  • Repo: ~/apps/trueshot/
  • Project: TrueShot.xcodeproj
  • Tech: AppKit menu bar app (NSStatusItem), ScreenCaptureKit for the capture, UniformTypeIdentifiers for PNG export, CGImageDestination for clipboard/file PNG conversion.
  • Bundle ID: com.jameshurst.trueshot
  • Signing: Developer ID Application: Oliver Hurst (WG8568VB25)
  • Install location: /Applications/TrueShot.app
Terminal window
ssh mbp 'bash ~/apps/trueshot/scripts/build.sh'
# Or from Studio: bash ~/apps/cc/bin/run-terminal-over-ssh.sh mbp ~/apps/trueshot/scripts/build.sh --keep-open

The script pulls, builds via xcodebuild, codesigns with the Developer ID cert, installs to /Applications/TrueShot.app, mirrors to ./build/ for in-repo dev reference, and relaunches.

ItemAction
Capture Region to ClipboardDrag a region anywhere on screen → clipboard
Capture Region to DesktopSame → floater → save (default ~/Desktop)
Capture Entire Screen to ClipboardFull display → clipboard
Capture Entire Screen to DesktopSame → floater → save
Save Location: <path>Choose Folder, Reset to Desktop, Reveal in Finder
Quit TrueShot⌘Q

~/Library/Logs/TrueShot.log — timestamped event log written by logEvent(_:). Tail it after a capture to confirm what happened (resolution, byte count, success/failure). NSLog to the unified log was tried first and abandoned — it never showed up in log show reliably.

Forked clean from remote-screenshot (Build 17, tag v17-final-as-remote-shot) on 2026-05-23, after testing confirmed the full-screen capture path covered every Screen Sharing case as well — so the original Screen Sharing-specific code was deleted and the app generalized. The “remote” framing was retired in favor of “true” — captures what is actually on screen, no matter what.

  • Requires Screen Recording permission in System Settings → Privacy & Security. First launch will prompt.
  • TCC keys permission off the codesigning identity — that is why TrueShot is signed with the Developer ID Application cert (stable identity) rather than an Apple Development cert (rotates).
  • App is LSUIElement = true so it is menu-bar-only, no Dock icon. To quit, use the menu’s Quit item or pkill TrueShot.