Skip to main content

Crate slurp_rs

Crate slurp_rs 

Source
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;

Modules§

api
error
types