Skip to content

Releases: iamshakibali/pin-top

Pin Top 0.3.1 — macOS Tahoe Support

Choose a tag to compare

@iamshakibali iamshakibali released this 11 Aug 19:41

macOS Tahoe (26) Compatibility

Pin Top 0.3.1 builds and runs on macOS 15 (Sequoia) and is forward-compatible with macOS 26 (Tahoe). The CGWindowListCreateImage deprecation warning is documented; the API remains functional on Tahoe Beta 1. A ScreenCaptureKit migration is planned for a future release.

What's Changed

Fixed

  • Screen Recording permission now survives rebuilds. The app now ships with setup-signing.sh to create a persistent self-signed code-signing identity. Previously, every run.sh rebuild used ad-hoc signing, which invalidated the macOS TCC grant — PinTop would still appear checked in System Settings but capture would silently fail. The new identity is stable across rebuilds so the grant persists.
  • Permission alert explains the real cause. When capture fails, the alert now detects whether PinTop is already listed in Screen Recording settings and tells the user to remove and re-add it if the grant is stale after a signature change.
  • Added debug logging to the capture path so future permission issues are diagnosable from Console.app.

Notes

  • Download PinTop-0.3.1.zip, unzip, and move PinTop.app to /Applications.
  • On first launch, right-click → Open to bypass Gatekeeper (the app is self-signed).
  • Grant Screen Recording and Accessibility permissions when prompted.

Full Changelog: https://github.com/iamshakibali/pin-top/blob/main/CHANGELOG.md

v0.3.0 — About panel + In-app auto-update

Choose a tag to compare

@iamshakibali iamshakibali released this 21 Jul 17:47

What's new in v0.3.0

Added

  • About panel — accessible from the menu bar. Shows app icon, version, developer info ("by Shakib" with clickable GitHub link), and an integrated Check for Updates button.
  • In-app auto-update — checks GitHub Releases for newer versions, downloads the update, and atomically replaces the app bundle. No browser or manual download required.
  • Menu bar items — "About Pin Top" and "Check for Updates" added to the menu.

How auto-update works

  1. Click Check for Updates (from menu or About panel)
  2. App fetches latest release from GitHub
  3. If a newer version exists, it downloads the zip in the background
  4. Extracts and replaces the app bundle atomically
  5. Relaunches the updated app

Install

Download PinTop-0.3.0.zip below, unzip, move PinTop.app to Applications. First launch: right-click → Open (unsigned app).

Future updates

From now on, click Check for Updates inside the app to stay current — no need to visit GitHub.

v0.2.0 — Typing latency fix + App icon

Choose a tag to compare

@iamshakibali iamshakibali released this 21 Jul 17:22

What's new in v0.2.0

Fixed

  • Typing/interaction lag eliminated (#7). The overlay now hides entirely when the pinned window's app is frontmost (user actively editing). This removes CGWindowListCreateImage ⟷ text-invalidation contention that caused noticeable keystroke delay in Notes, TextEdit, and other live-edit apps. The overlay reappears instantly when another app covers the source window.
  • Overlay no longer blocks mouse or keyboard input to the real window while the user is actively interacting with it.

Added

  • App icon — PinTop.icns wired into the .app bundle. Visible in Finder, Get Info, and the app switcher.
  • Icon displayed in README header.

Install

Download PinTop-0.2.0.zip below, unzip, move PinTop.app to Applications. First launch: right-click → Open (unsigned app).

v0.1.1 — interact with buried pinned windows

Choose a tag to compare

@iamshakibali iamshakibali released this 21 Jul 08:30

What's fixed

Clicking a pinned overlay when another app covers it no longer selects the covering app. The overlay now detects when the source window is buried and re-activates the source app to bring the real window forward, so you can interact with the pinned window's contents (buttons, fields) instead of the overlapping app underneath.

Also reduced refresh-loop cost: burial detection is now an O(1) frontmost-app check instead of a 60 Hz full-window enumeration, so the click-to-front response feels immediate.

Minor known bug (will catch up later)

In a multi-window app, if the source app is already frontmost but a sibling window of that app covers the pinned one, the click-through still falls to that sibling rather than re-fronting the exact pinned window. We'll address sibling-window coverage in a follow-up.

Full changelog at CHANGELOG.md.

Pin Top v0.1.0 — First Beta

Choose a tag to compare

@iamshakibali iamshakibali released this 17 Jul 08:42

Pin Top v0.1.0 (Beta)

First public beta of Pin Top — a lightweight menu-bar app that keeps a chosen window floating above every other app on your screen.

What's new

  • Menu-bar app (LSUIElement): pin icon in the status bar, no Dock icon
  • Click-to-pick window selection with full-screen crosshair overlay
  • True always-on-top via snapshot overlay at maximum window level
  • Pin multiple windows; each listed in menu bar with Unpin submenu
  • Clear All to unpin everything; Quit Pin Top (⌘Q)
  • Screen Recording + Accessibility permission flow
  • run.sh for one-command dev build
  • setup-signing.sh for stable signing identity (grants persist across rebuilds)

Install

  1. Download PinTop-0.1.0.zip below
  2. Unzip → move PinTop.app to Applications
  3. Right-click → Open (Gatekeeper blocks ad-hoc signed apps on first launch)
  4. Approve Screen Recording and Accessibility prompts

Known limitations

  • Pinned overlay is a snapshot, not live — does not update if source window changes. Live refresh is planned.
  • Selection currently targets main screen / frontmost Space
  • Ad-hoc signed for this beta — Gatekeeper will warn (right-click Open)

What's next

  • Global hotkey to toggle pin mode
  • Per-window live refresh
  • Multi-monitor / Space awareness
  • Sparkle auto-update

See CHANGELOG.md for full history.