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}