Skip to content

Latest commit

 

History

History
98 lines (76 loc) · 3.55 KB

File metadata and controls

98 lines (76 loc) · 3.55 KB

Settings

Opening Async Link directly shows Settings. When a link opens the application, only the picker appears. Select the cog button in the picker to open Settings.

No text field receives focus automatically when Settings opens.

Browser Choices

Async Link creates choices from installed browsers and their discovered profiles. Browser names omit redundant Google and Browser text in the picker.

Each row in Settings provides:

  • Alias: changes the displayed name of a discovered profile.
  • Show: includes or removes the choice from the picker.
  • Key: assigns one letter or number shortcut to the choice. Duplicate and invalid shortcuts are rejected before settings are changed.
  • Up and down arrows: changes picker order without exposing numeric order values.

Use Rescan Browsers after installing a browser or adding a profile. Rescan preserves aliases and other settings associated with stable choice keys.

Picker Options

  • Menu Bar placement anchors near the top of the active display and uses the status item as its anchor when that item is visible.
  • Floating placement opens near the pointer on the active display.
  • Show menu bar adds a status item with restore, Settings, default-browser, and quit commands.
  • Show in Dock exposes Async Link in the Dock and application switcher.

The menu-bar item and Dock icon are hidden by default. These visibility options do not change whether Async Link can receive links as the default browser.

Picker Controls

  • Select a browser or profile to open the pending link.
  • Press a configured key, or its default number key, to select a choice.
  • Use Up and Down to move between choices. Left selects the normal action; Right selects that row's background-open button. Press Return to open it.
  • The arrow button beside each choice opens the destination without activating the browser, including profile launches.
  • macOS Accessibility access is required for background profile launches. Async Link uses it only to restore the originating application's focus when a browser activates itself. Normal launches do not require this permission.
  • The cog button opens Settings.
  • The close button or Escape dismisses the picker.

If the menu-bar item is enabled, Restore Recently Closed Link reopens the most recently received destination using the selected picker placement.

Persisted File

Settings are stored globally at:

~/.async/link/settings.json

The file is outside the app bundle and survives packaging, installation, and replacement of the application. The Settings window is the supported editor; changes are saved there without requiring manual JSON edits.

A representative file has this shape:

{
  "pickerMode": "menubar",
  "showMenuBar": false,
  "showDock": false,
  "browserOrder": [
    "com.apple.Safari",
    "com.google.Chrome:Profile 1"
  ],
  "hiddenChoices": [],
  "hotkeys": {
    "com.apple.Safari": "s"
  },
  "profileAliases": {
    "com.google.Chrome:Profile 1": "Work"
  },
  "recentLink": null
}

Choice keys and the recent-link field are application-managed. The settings directory uses mode 0700, and settings.json uses mode 0600.

Malformed JSON is never overwritten at startup. Async Link opens recoverable defaults in memory and reports the parsing error. An explicit Save or Reset preserves the original as settings.invalid-<timestamp>.json before writing a valid replacement.

Select Reset in Settings to restore defaults. This clears saved aliases, ordering, hidden choices, hotkeys, visibility options, and recent-link state.