Skip to main content

agent_seat_linux/
lib.rs

1//! App-scoped capture and input for Linux automation agents.
2//!
3//! `agent-seat-linux` exposes a private Wayland socket. Applications launched
4//! with that socket as `WAYLAND_DISPLAY` remain ordinary visible windows on
5//! the user's compositor, while the owning process can capture their
6//! `wl_shm` frames and inject input at the application boundary.
7//!
8//! The crate deliberately does not capture the ambient desktop and does not
9//! forward privileged Wayland interfaces. See [`AgentSeat`] to get started.
10
11#![cfg_attr(docsrs, feature(doc_cfg))]
12#![warn(missing_docs)]
13
14#[cfg(not(target_os = "linux"))]
15compile_error!("agent-seat-linux supports Linux only");
16
17mod error;
18mod harness;
19mod keymap;
20mod process;
21mod seat;
22
23pub use error::SeatError;
24pub use harness::{
25    ComputerUse, ComputerUseBuilder, ControlledApp, Error, LaunchConfig, PointerButton, Result,
26    Transport,
27};
28pub use seat::{available, seat, shutdown, AgentSeat, CapturedFrame, SeatApp, XwaylandBridge};