← Back to docs

PCP · pcp

PCP AT-SPI2 — Accessibility Adapter

AT-SPI2 adapter for Tier 2 app detection — bridges non-Portal-native apps into the PCP via the Linux accessibility protocol.

pcp-atspi2v0.2.0pcp
4.8K
Lines of Code
156
Tests
46
Files

Architecture

Connects to the AT-SPI2 bus, enumerates UI elements, maps AT-SPI roles to PCP capabilities.

Overview

pcp-atspi2 provides the Tier 2 detection path for the Portal Capability Protocol. Non-Portal-native apps (standard Linux apps like Firefox, LibreOffice) are detected via the AT-SPI2 accessibility protocol. This adapter connects to the AT-SPI2 bus, enumerates application UI elements (buttons, text fields, menus), and exposes them as PCP capabilities. This allows Portal to interact with any AT-SPI2-compatible app without native PCP support.

Data Flow

AT-SPI2 bus → adapter enumerates UI elements → maps to PCP capabilities → pcpd registers as Tier 2

Dependencies

Internal (1)

External (11)

atspi workspacetokio workspaceserde workspaceserde_json workspacetracing workspacechrono workspacethiserror workspaceasync-trait workspacefutures-lite 2nix 0.29parking_lot workspace

Depends on pcp-core. External: atspi (Rust AT-SPI2 bindings).