wallflow/lib.rs
1//! wallflow - Elegant wallpaper management
2//!
3//! This library provides wallpaper downloading functionality from various online sources.
4//! It can be used as a dependency by other crates that need wallpaper fetching capabilities.
5//!
6//! # Example
7//!
8//! ```no_run
9//! use wallflow::{Config, DownloadOptions, download_from_source};
10//!
11//! async fn example() -> anyhow::Result<()> {
12//! let config = Config::load_or_default()?;
13//! let opts = DownloadOptions::default();
14//!
15//! let wallpaper = download_from_source("wallhaven", &config, &["nature".into()], &opts).await?;
16//! println!("Downloaded: {:?}", wallpaper.file_path);
17//! Ok(())
18//! }
19//! ```
20
21pub mod config;
22pub mod display;
23pub mod downloaders;
24pub mod integration;
25pub mod platform;
26pub mod wallpaper;
27
28// Re-export main types for convenience
29pub use config::Config;
30pub use downloaders::traits::Wallpaper;
31pub use downloaders::{DownloadOptions, download_from_source, list_sources};
32pub use wallpaper::apply_wallpaper;