Skip to content

async/link

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

568 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Async Link

Async Link is a native macOS default-browser picker. It receives a link, shows the browser and profile choices available on the active display, and opens the selected destination.

The current app is implemented in Rust and AppKit. It has no Deno, web view, Svelte, or Node.js runtime dependency.

Current Features

  • Discovers browsers registered for web links through LaunchServices.
  • Discovers Chromium and Firefox profiles and lets each profile have an alias.
  • Opens a compact, titleless picker on the active display and Space.
  • Supports menu-bar and cursor-relative picker placement.
  • Opens compatible browsers in private mode or requests a background launch.
  • Assigns single-key shortcuts and default number shortcuts to choices.
  • Reorders or hides individual browser and profile choices.
  • Restores the most recently received link from the optional menu-bar item.
  • Keeps settings outside the app bundle in ~/.async/link/settings.json.
  • Hides both the menu-bar item and Dock icon by default, with settings to show either one.

Opening Async Link directly shows Settings. Opening a web link shows only the picker; Settings remains hidden until the cog button is selected.

Install From Source

Async Link currently targets Apple Silicon Macs running macOS 12 or later.

gh repo clone async/link
cd link
./scripts/install-rust.sh

The install script builds and verifies the app, installs it at /Applications/Async Link.app, registers it with LaunchServices, and attempts to make it the default web browser. macOS may require the final default-browser selection in System Settings.

For build requirements and individual commands, see Building and installation.

Using The Picker

  • Select a browser or profile with the pointer.
  • Press its displayed key, or the default number key, to open it.
  • Enable Private for a private window where the browser supports it.
  • Enable Background to request a background open where supported.
  • Press Escape or select the close button to dismiss the picker.
  • Select the cog button to open Settings.

Settings provide browser discovery, profile aliases, ordering, visibility, hotkeys, picker placement, menu-bar visibility, Dock visibility, reset, and default-browser controls. See Settings for details.

Project Layout

Path Purpose
native/src/ Rust application, settings, discovery, launch, and AppKit UI
native/macos/ App bundle metadata and macOS resources
scripts/package-rust.sh Release build and app-bundle assembly
scripts/install-rust.sh Local installation and LaunchServices registration
docs/ Architecture, settings, and build documentation

The package and install scripts build only the native implementation.

Documentation

License

Async Link is available under the MIT License. The repository keeps the inherited history and copyright notice. See Third-party notices for attribution details.

About

A macOS app for customizing which browser to start

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors