Prox OS Internal Docs
PlatformArchitectureShell

Prox Switchbar

Prox Switchbar is the OS-level open-with chooser for links. It is inspired by

Prox Switchbar is the OS-level open-with chooser for links. It is inspired by the idea that external web apps can belong to managed workspaces, but it stays within browser security limits and Prox OS product language.

Role

The Switchbar can replace ordinary link context-menu behavior with a centered overlay that feels closer to command palette plus app launcher plus open-with chooser.

It shows:

  • current URL and domain;
  • detected Proxied App match;
  • recommended launch mode;
  • matching early deep-link rule;
  • icon-driven open actions.

Actions

The first version supports:

  • Open in Proxied App.
  • Open in Proxied Space.
  • Open as an OS page when the URL maps to a registered app.
  • Open in a new tab.
  • Copy clean URL.
  • Always use this rule placeholder.

Rules are local seed data today. They can match domains and route the user to a Proxied App, Proxied Space, native app, or external launch mode.

Settings Toggle

Display Options includes a link-opening setting:

  • Prox Switchbar: use the OS-level open-with overlay.
  • Legacy menu: use the compact managed-link context menu.

The legacy menu remains in the code path as a fallback. The shell chooses between the two presentations when openManagedLinkMenuAt is called.

Placement

Switchbar is vertically and horizontally centered against the core workspace rectangle. When Alma is enabled, this keeps the chooser centered in the work area instead of the full browser viewport.

Prox OS can control links that the shell renders. It can also expose a cooperative openLinkChoiceAt API to first-party apps and iframe guests that choose to post managed-link messages.

Cross-origin iframe clicks are not fully controllable by a browser shell. Early support can only combine:

  • iframe navigation observation;
  • sandbox policy;
  • external fallback;
  • user right-click or explicit open menu;
  • cooperative guest app messaging.

Future browser extensions or desktop clients can improve link interception. Desktop clients may also investigate system-level link capture, global shortcuts, tray behavior, local indexing, and profile/cookie isolation. Those are not browser-shell guarantees.

Current Implementation

  • Shell overlay: apps/os-shell/src/shell/chrome/ProxSwitchbar.tsx.
  • Legacy menu: apps/os-shell/src/shell/chrome/ManagedLinkMenu.tsx.
  • Placement helper: apps/os-shell/src/shell/overlays/useCoreWorkspaceRect.ts.
  • Link resolution: apps/os-shell/src/shell/links/resolveManagedLink.ts.
  • Switchbar rules: packages/embed-runtime/src/proxiedCatalog.ts.
  • Cooperative iframe link message contract: packages/contracts/app-contract/src/iframe-guest-messages.ts.

On this page