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).