Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lippershey

Lippershey is a native macOS status-bar magnifier. It opens floating windows that sample a highlighted source area with ScreenCaptureKit, scale the sample with nearest-neighbor rendering, and let the source area move independently from the window.

The app starts as a status-bar accessory app and opens one 4x window on launch. Closing all windows leaves the status-bar item running.

Requirements

  • macOS 14 or later.
  • Screen Recording permission for screen sampling.

Installation

Lippershey is distributed through the hleinone/tap Homebrew tap:

brew tap hleinone/tap
brew install --cask lippershey

Status-Bar Menu

  • New Window opens another 4x window. You can also use Control-Command-Z from anywhere.
  • Request Screen Recording Permission appears when permission has not been granted.
  • About Lippershey opens the About window.
  • Quit Lippershey terminates the app.

Controls

  • Drag the title bar to move a window.
  • Resize a window to change the sampled source size at the current zoom level.
  • Press Control-Command-Z to open a new 4x window.
  • Hold Option while a window is focused to hide it and show the source rectangle.
  • While holding Option, drag the highlighted source rectangle to move it.
  • While holding Option, scroll vertically over either the window or the highlighted source rectangle to step through zoom levels: 2x, 3x, 4x, 6x, 8x, and 12x.
  • Release Option to exit source placement.
  • Press Command-Q while a window is focused to close it.

Screen Capture

Lippershey captures the area beneath each window's source rectangle and excludes its own floating UI from the sample where ScreenCaptureKit exposes those windows. If permission is missing, windows show Screen Recording permission required. Grant access in System Settings, then restart the app.

Build

swift build

To create the app bundle:

./scripts/build_app.sh
open .build/Lippershey.app

Release

To create a release archive for GitHub Releases and Homebrew Cask:

./scripts/package_release.sh

To create a Developer ID signed and notarized release archive:

CODESIGN_IDENTITY="Developer ID Application: Hannu Leinonen (R8LTCU48YM)" \
NOTARY_PROFILE="lippershey-notary" \
./scripts/package_release.sh

Maintainer release flow:

  1. Ensure CFBundleShortVersionString in Resources/Info.plist matches the release version.

  2. Run CODESIGN_IDENTITY="Developer ID Application: Hannu Leinonen (R8LTCU48YM)" NOTARY_PROFILE="lippershey-notary" ./scripts/package_release.sh and confirm signing, notarization, and stapling pass locally.

  3. Commit and push the app changes.

  4. Create and push a matching version tag:

    git tag v0.1.0
    git push origin v0.1.0
  5. The release workflow builds the app, creates or updates the GitHub release, uploads Lippershey-0.1.0.zip, and writes the Homebrew Cask version and sha256 values into the release notes.

  6. Update Casks/lippershey.rb in hleinone/homebrew-tap with those release note values.

  7. Test with brew install --cask hleinone/tap/lippershey, brew uninstall --cask lippershey, and brew audit --cask hleinone/tap/lippershey.

The tap update is manual for now. Automating it requires a token with write access to hleinone/homebrew-tap.

The release workflow requires these GitHub Actions secrets:

  • DEVELOPER_ID_CERTIFICATE_BASE64: base64-encoded .p12 export of the Developer ID Application certificate and private key.
  • DEVELOPER_ID_CERTIFICATE_PASSWORD: password for that .p12 export.
  • APPLE_NOTARY_KEY_BASE64: base64-encoded App Store Connect API key .p8 file.
  • APPLE_NOTARY_KEY_ID: App Store Connect API key ID.
  • APPLE_NOTARY_ISSUER_ID: App Store Connect issuer ID.

Official homebrew/cask submission can happen later. Before submitting there, use Developer ID signing and notarization so the app passes Gatekeeper on supported macOS versions.

License

Lippershey is licensed under the MIT License. See LICENSE.

About

Pixel-zooming tool for macOS

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages