Skip to main content

Crate wallflow

Crate wallflow 

Source
Expand description

wallflow - Elegant wallpaper management

This library provides wallpaper downloading functionality from various online sources. It can be used as a dependency by other crates that need wallpaper fetching capabilities.

§Example

use wallflow::{Config, DownloadOptions, download_from_source};

async fn example() -> anyhow::Result<()> {
    let config = Config::load_or_default()?;
    let opts = DownloadOptions::default();

    let wallpaper = download_from_source("wallhaven", &config, &["nature".into()], &opts).await?;
    println!("Downloaded: {:?}", wallpaper.file_path);
    Ok(())
}

Re-exports§

pub use colors::ColorExtractor;
pub use colors::ColorScheme;
pub use colors::ExtractionOptions;
pub use colors::Rgb;
pub use config::Config;
pub use downloaders::traits::Wallpaper;
pub use downloaders::DownloadOptions;
pub use downloaders::download_from_source;
pub use downloaders::list_sources;
pub use templates::TemplateEngine;
pub use wallpaper::apply_wallpaper;

Modules§

colors
Color extraction using k-means clustering
config
display
downloaders
Wallpaper downloader system with pluggable sources
integration
Desktop environment integrations
platform
templates
Template rendering for terminal and app theming
wallpaper
Wallpaper management module with cross-platform backend support