Skip to content

Repository files navigation

Topit (macOS 15 / Apple Silicon)

Pin any window to the top of your screen — adapted for macOS 15 (Sequoia) and Apple Silicon (M1–M4).

中文说明

About this fork

This repository is based on the excellent original project:

Upstream targets macOS 13+ and ships via Homebrew / developer-signed releases. This fork focuses on:

Item Detail
Target OS macOS 15.0+ (verified on 15.3.1)
Architecture arm64 (Apple Silicon)
Build without full Xcode CLI build.sh using Command Line Tools + swiftc
Permission UX No infinite system permission prompt loop when access is denied
Auto-update Sparkle auto-update is disabled (local stub) to keep the offline CLI build simple

If you are on macOS 13/14 and want the official build, prefer the upstream releases.

Features

  • Pin windows from any application above other windows
  • Pin multiple windows at once; move, resize, and interact with them
  • Menu bar controls and keyboard shortcuts
  • Window picker with live thumbnails

System requirements

  • macOS 15.0 or later
  • Apple Silicon (arm64)
  • Permissions (required):
    • Screen Recording (录屏与系统录音)
    • Accessibility (辅助功能)

Download (prebuilt)

Grab the latest .app from Releases.

  1. Unzip and drag Topit.app to /Applications
  2. Open Topit once (right-click → Open if Gatekeeper blocks ad-hoc signed apps)
  3. Enable Screen Recording and Accessibility for Topit in System Settings
  4. Click Check Again in Topit (or quit and reopen) after granting permissions

Note: This build is ad-hoc signed (no Apple Developer ID). That is normal for community builds. After you re-download a new binary, macOS may ask you to re-enable permissions once.

Build from source

Option A — Command Line Tools only (build.sh)

git clone https://github.com/Accesscoderlink4/Topit-macOS15.git
cd Topit-macOS15
./build.sh
open build/Topit.app

Requirements:

  • macOS 15 SDK via Command Line Tools (xcode-select --install)
  • No full Xcode required for the CLI path

Option B — Full Xcode

Open Topit.xcodeproj in Xcode 16+, set the run destination to My Mac, and build.
(You may need to adjust SPM packages; this fork vendors KeyboardShortcuts and stubs Sparkle for the CLI path.)

Permissions behaviour (macOS 15)

On denied screen-recording access, some older builds could retry every second and spam system prompts. This fork:

  • Only checks permission state at launch / when the main window appears
  • Shows a static in-app guide when permissions are missing
  • Requests access only when you click the permission buttons
  • Does not recurse into capture APIs while denied

Project layout

Topit-macOS15/
  Topit/                 # App sources
  Topit.xcodeproj/       # Xcode project (upstream)
  vendor/KeyboardShortcuts/  # Vendored dependency (MIT)
  build/manual_assets/   # Icons/images for CLI packaging
  toolchain/             # CLT module-map shim for broken multi-CLT installs
  build.sh               # Package arm64 .app without full Xcode
  script/build_and_run.sh
  LICENSE                # AGPL-3.0 (same as upstream)

License

This project remains under the GNU Affero General Public License v3.0 as required by upstream.

  • Original copyright: lihaoyun6
  • macOS 15 / CLI packaging adaptations: contributors of this fork

Third-party:

Disclaimer

This is a community adaptation for personal / open-source use. It is not an official release from the original author. Use at your own risk.

About

Topit for macOS 15 / Apple Silicon — pin any window on top. Based on lihaoyun6/Topit (AGPL-3.0).

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages