use crate::{Display, Error, FmtResult, Formatter};
#[doc = crate::_tags!(unix error)]
#[doc = crate::_doc_location!("sys/device/display/x11")]
#[derive(Debug)]
pub enum XError {
ConnectionFailed,
SetupFailed,
NoScreensFound,
ExtensionUnavailable(&'static str),
ProtocolError(u8),
Other(&'static str),
}
impl Error for XError {}
impl Display for XError {
fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult<()> {
use XError as E;
match self {
E::ConnectionFailed => f.write_str("Cannot open display"),
E::SetupFailed => f.write_str("Xcb::get_setup failed"),
E::NoScreensFound => f.write_str("no screens found"),
E::ExtensionUnavailable(ext) => write!(f, "Extension unavailable: '{ext}'"),
E::ProtocolError(err) => write!(f, "Protocol error: '{err}'"),
E::Other(s) => f.write_str(s),
}
}
}