Adopt bread_utils::screenshot_cli for --screenshot flags
All checks were successful
dev release / build (push) Successful in 2m41s
All checks were successful
dev release / build (push) Successful in 2m41s
Use the crate for pair validation and canvas defaults. Webview settle delays stay local; Tauri still does not have a GTK map signal.
This commit is contained in:
parent
60a473fff0
commit
0798fad697
1 changed files with 11 additions and 10 deletions
|
|
@ -23,7 +23,8 @@
|
||||||
//! `KNOWN_VIEWS`) — every one of them has a real registered component (see
|
//! `KNOWN_VIEWS`) — every one of them has a real registered component (see
|
||||||
//! `frontend/src/lib/views/registry.ts`), no Placeholder fallbacks to skip.
|
//! `frontend/src/lib/views/registry.ts`), no Placeholder fallbacks to skip.
|
||||||
|
|
||||||
use std::path::PathBuf;
|
use bread_utils::screenshot_cli::{validate_pair, DEFAULT_HEIGHT, DEFAULT_WIDTH};
|
||||||
|
use std::path::{Path, PathBuf};
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
use tauri::Emitter;
|
use tauri::Emitter;
|
||||||
|
|
||||||
|
|
@ -84,13 +85,13 @@ pub struct ScreenshotRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// `None` for a normal run. Exits the process with an error for an unknown
|
/// `None` for a normal run. Exits the process with an error for an unknown
|
||||||
/// view, or if `--screenshot` was given without `--output` — before any
|
/// view, or if the `--screenshot` / `--output` pair is incomplete — before
|
||||||
/// Tauri setup happens.
|
/// any Tauri setup happens.
|
||||||
pub fn parse(args: &[String]) -> Option<ScreenshotRequest> {
|
pub fn parse(args: &[String]) -> Option<ScreenshotRequest> {
|
||||||
let mut view = None;
|
let mut view = None;
|
||||||
let mut output = None;
|
let mut output = None;
|
||||||
let mut width = 1920u32;
|
let mut width = DEFAULT_WIDTH;
|
||||||
let mut height = 1080u32;
|
let mut height = DEFAULT_HEIGHT;
|
||||||
let mut it = args.iter().skip(1);
|
let mut it = args.iter().skip(1);
|
||||||
while let Some(arg) = it.next() {
|
while let Some(arg) = it.next() {
|
||||||
match arg.as_str() {
|
match arg.as_str() {
|
||||||
|
|
@ -109,6 +110,10 @@ pub fn parse(args: &[String]) -> Option<ScreenshotRequest> {
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if let Err(e) = validate_pair(view.as_deref(), output.as_deref().map(Path::new)) {
|
||||||
|
eprintln!("bos-settings: {e}");
|
||||||
|
std::process::exit(1);
|
||||||
|
}
|
||||||
let view = view?;
|
let view = view?;
|
||||||
if !KNOWN_VIEWS.contains(&view.as_str()) {
|
if !KNOWN_VIEWS.contains(&view.as_str()) {
|
||||||
eprintln!(
|
eprintln!(
|
||||||
|
|
@ -117,13 +122,9 @@ pub fn parse(args: &[String]) -> Option<ScreenshotRequest> {
|
||||||
);
|
);
|
||||||
std::process::exit(1);
|
std::process::exit(1);
|
||||||
}
|
}
|
||||||
let Some(output) = output else {
|
|
||||||
eprintln!("bos-settings: --screenshot requires --output");
|
|
||||||
std::process::exit(1);
|
|
||||||
};
|
|
||||||
Some(ScreenshotRequest {
|
Some(ScreenshotRequest {
|
||||||
view,
|
view,
|
||||||
output: output.into(),
|
output: output?.into(),
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue