clipboard_x11/
error.rs

1use x11rb::{
2    errors::{ConnectError, ConnectionError, ReplyError},
3    protocol::xproto::Atom,
4};
5
6use std::sync::mpsc;
7
8#[must_use]
9#[derive(Debug, thiserror::Error)]
10pub enum Error {
11    #[error("connection failed: {0}")]
12    ConnectionFailed(#[from] ConnectError),
13    #[error("connection errored: {0}")]
14    ConnectionErrored(#[from] ConnectionError),
15    #[error("reply failed: {0}")]
16    ReplyError(#[from] ReplyError),
17    #[error("timeout")]
18    Timeout,
19    #[error("unexpected type: {0}")]
20    UnexpectedType(Atom),
21    #[error("invalid utf8 string: {0}")]
22    InvalidUtf8(std::string::FromUtf8Error),
23    #[error("deadlock")]
24    SelectionLocked,
25    #[error("invalid selection owner")]
26    InvalidOwner,
27    #[error("worker communication error")]
28    SendError(#[from] mpsc::SendError<Atom>),
29}