pub enum SeatError {
NoWaylandSession,
MissingRuntimeDir,
SocketCreate(String),
Xwayland(String),
Xauth(String),
PeerCredential(String),
Capture(String),
Input(String),
Process(String),
Io(Error),
Custom(String),
}Expand description
Every failure mode of the agent seat, from session discovery through capture and input injection.
Low-level APIs such as crate::AgentSeat and crate::SeatApp return
this type directly; the high-level crate::Error wraps it and exposes
it through std::error::Error::source. The String payloads carry
free-form context while the variant identifies the failing subsystem.
Variants§
NoWaylandSession
No Wayland session exists to proxy into: WAYLAND_DISPLAY is unset
or the compositor socket it names does not exist.
MissingRuntimeDir
XDG_RUNTIME_DIR is unset or empty, so no socket path can be derived.
SocketCreate(String)
The private agent seat socket could not be bound or configured.
Xwayland(String)
The XWayland compatibility bridge failed to start or serve.
Xauth(String)
xauth credential setup for the XWayland bridge failed.
PeerCredential(String)
Kernel peer credentials of a connecting app could not be read or did not validate.
Capture(String)
Reading or decoding the app’s rendered frame failed.
Input(String)
Synthesizing or delivering input events to the app failed.
Process(String)
Spawning or supervising a helper process or worker thread failed.
Io(Error)
An underlying I/O operation failed.
Custom(String)
Any other failure that does not fit a dedicated variant.
Trait Implementations§
Source§impl Error for SeatError
impl Error for SeatError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations§
impl !RefUnwindSafe for SeatError
impl !UnwindSafe for SeatError
impl Freeze for SeatError
impl Send for SeatError
impl Sync for SeatError
impl Unpin for SeatError
impl UnsafeUnpin for SeatError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.