Expand description
slurp-rs is a Rust implementation of slurp with:
- CLI compatibility (
run_cli) - reusable typed API (
select_*)
§API Quick Start
use slurp_rs::{AspectRatio, LockPolicy, SelectOptions, SlurpError, select_region};
let options = SelectOptions {
aspect_ratio: Some(AspectRatio { width: 0, height: 9 }),
lock_policy: LockPolicy::Disabled,
..SelectOptions::default()
};
let err = select_region(options).unwrap_err();
assert!(matches!(err, SlurpError::InvalidInput(_)));§Validate Input Without Wayland
use slurp_rs::{SelectOptions, SlurpError, select_from_boxes};
let err = select_from_boxes(Vec::new(), SelectOptions::default()).unwrap_err();
assert!(matches!(err, SlurpError::InvalidInput(_)));§CLI Entry
use std::process::ExitCode;
use slurp_rs::run_cli;
let args = vec!["slurp-rs".to_string(), "-h".to_string()];
assert_eq!(run_cli(&args), ExitCode::SUCCESS);Re-exports§
pub use api::SelectRequest;pub use api::run_cli;pub use api::select;pub use api::select_from_boxes;pub use api::select_output;pub use api::select_region;pub use error::SlurpError;pub use types::AspectRatio;pub use types::ChoiceBox;pub use types::Colors;pub use types::LockPolicy;pub use types::Rect;pub use types::SelectOptions;pub use types::Selection;pub use types::SelectionKind;