use thiserror::Error;
#[derive(Debug, Error)]
pub enum QueryError {
#[error("failed to enumerate DDC displays")]
Enumerate,
#[error("failed to query Linux backlight devices: {message}")]
BacklightQuery {
message: String,
},
}
#[derive(Debug, Error)]
pub enum ApplyError {
#[error(transparent)]
Query {
#[from]
source: QueryError,
},
#[error("display '{display_id}' does not expose brightness via VCP 0x10: {message}")]
UnsupportedMonitor {
display_id: String,
message: String,
},
#[error("insufficient permissions for display '{display_id}'")]
PermissionDenied {
display_id: String,
},
#[error("missing i2c access for display '{display_id}'")]
MissingI2cAccess {
display_id: String,
},
#[error("failed to set brightness for display '{display_id}': {message}")]
DdcOperation {
display_id: String,
message: String,
},
#[error("failed to set backlight brightness for display '{display_id}': {message}")]
BacklightOperation {
display_id: String,
message: String,
},
}