diff --git a/Cargo.lock b/Cargo.lock index 5ff25d5..8a2038b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -692,6 +692,7 @@ dependencies = [ name = "multibg-sway" version = "0.1.10" dependencies = [ + "anyhow", "clap", "env_logger", "fast_image_resize", diff --git a/Cargo.toml b/Cargo.toml index 1eddea6..e6a9304 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,7 @@ categories = ["command-line-utilities", "multimedia::images"] exclude = ["/PKGBUILD", "/scripts/"] [dependencies] +anyhow = "1.0.97" clap = { version = "4.5.3", features = ["derive"] } env_logger = "0.11.3" fast_image_resize = "5.0.0" diff --git a/src/main.rs b/src/main.rs index c4c37e2..8715c0d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,7 +14,7 @@ use std::{ }; use clap::Parser; -use log::{debug, error}; +use log::{debug, error, info}; use mio::{ Events, Interest, Poll, Token, Waker, unix::SourceFd, @@ -40,19 +40,21 @@ use crate::{ wayland::State, }; -fn main() -{ - #[cfg(debug_assertions)] +fn main() -> Result<(), ()> { + run().map_err(|e| { error!("{e:#}"); }) +} + +fn run() -> anyhow::Result<()> { env_logger::Builder::from_env( env_logger::Env::default().default_filter_or( - "warn,multibg_sway=trace" + #[cfg(debug_assertions)] + "info,multibg_sway=trace", + #[cfg(not(debug_assertions))] + "info", ) ).init(); - #[cfg(not(debug_assertions))] - env_logger::Builder::from_env( - env_logger::Env::default().default_filter_or("warn") - ).init(); + info!(concat!(env!("CARGO_PKG_NAME"), " ", env!("CARGO_PKG_VERSION"))); let cli = Cli::parse(); let wallpaper_dir = Path::new(&cli.wallpaper_dir).canonicalize().unwrap();