mural-client 1.2.1

Client software for the mural wallpaper service
Documentation
#[derive(Debug, thiserror::Error)]
pub enum Error {
    #[error("requesting the current wallpaper failed: {0}")]
    WallpaperRequest(String),
    #[error("failed to write the downloaded wallaper to disk: {0}")]
    WallpaperWrite(std::io::Error),

    #[error("executing the command to set the wallpaper failed: {0}")]
    WallpaperSetCommand(std::io::Error),
    #[error("setting the wallpaper failed with exit code {exit_code}")]
    WallpaperSet { exit_code: i32 },

    #[error("requesting the interval failed: {0}")]
    IntervalRequest(reqwest::Error),
    #[error("the server returned an invalid interval")]
    InvalidInterval,

    #[error("requesting the current digest failed: {0}")]
    DigestRequest(String),

    #[error("failed load a .env file: '{line_content}' on line {line_number} is invalid")]
    DotenvyParse {
        line_content: String,
        line_number: usize,
    },
    #[error("failed to read a .env file: {0}")]
    DotenvyIo(std::io::Error),

    #[error("failed to find a config directory")]
    ConfigHome,
    #[error("failed to parse the configuration: {0}")]
    ConfigParse(#[from] toml::de::Error),
    #[error("failed to read the configuration: {0}")]
    ConfigRead(std::io::Error),

    #[error("failed to find a data directory")]
    DataHome,

    #[error("failed to list locally available wallpapers in '{wallpapers_path}': {io_error}")]
    WallpaperList {
        io_error: std::io::Error,
        wallpapers_path: String,
    },

    #[error("{0}")]
    Custom(String),
}