use std::path::PathBuf;
#[derive(Debug, Clone, Copy, Default)] pub struct WindowPosition {
pub x: i32,
pub y: i32,
pub width: i32,
pub height: i32,
}
#[derive(Debug, Clone)]
pub struct WindowInfo {
pub hwnd: isize,
pub pid: u32,
pub title: String,
pub class_name: String,
pub process_name: String,
pub process_file: PathBuf,
pub index: usize,
pub position: WindowPosition,
}
#[derive(Debug, Clone, Default)]
pub struct FilterCriteria {
pub pid: Option<u32>,
pub title_contains: Option<String>,
pub class_name_contains: Option<String>,
pub process_name_contains: Option<String>,
pub process_file_contains: Option<String>,
}
#[cfg(feature = "selection")]
#[derive(Debug, Clone)]
pub enum Selection {
All,
Indices(Vec<usize>),
}
#[cfg(feature = "sorting")]
#[derive(Debug, Clone)]
pub enum PositionSort {
X(i8), Y(i8), XY(i8, i8), }
#[cfg(feature = "sorting")]
#[derive(Debug, Clone, Default)] pub struct SortCriteria {
pub pid: i8,
pub title: i8,
pub position: Option<PositionSort>,
}