zouni 0.2.1

Variety of functions that `std` does not offer or `std` offers but are not satisfiable
Documentation
pub mod dialog;
mod platform;
pub mod process;
use std::path::PathBuf;

#[cfg(target_os = "linux")]
pub use platform::linux::*;
#[cfg(target_os = "windows")]
pub use platform::windows::*;
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Volume {
    pub mount_point: String,
    pub volume_label: String,
    pub available_units: u64,
    pub total_units: u64,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Dirent {
    pub name: String,
    pub parent_path: String,
    pub full_path: String,
    pub attributes: FileAttribute,
    pub mime_type: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FileAttribute {
    pub is_directory: bool,
    pub is_read_only: bool,
    pub is_hidden: bool,
    pub is_system: bool,
    pub is_device: bool,
    pub is_symbolic_link: bool,
    pub is_file: bool,
    pub ctime_ms: u64,
    pub mtime_ms: u64,
    pub atime_ms: u64,
    pub birthtime_ms: u64,
    pub size: u64,
    pub link_path: String,
}

#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum Operation {
    None,
    Copy,
    Move,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClipboardData {
    pub operation: Operation,
    pub urls: Vec<String>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AppInfo {
    pub path: String,
    pub name: String,
    pub icon_path: String,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct Icon {
    #[cfg(target_os = "linux")]
    pub file: String,
    #[cfg(target_os = "windows")]
    pub raw_pixels: Vec<u8>,
    #[cfg(target_os = "windows")]
    pub png: Vec<u8>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ThumbButton {
    pub id: String,
    pub tool_tip: Option<String>,
    pub icon: PathBuf,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RecycleBinDirent {
    pub name: String,
    pub original_path: String,
    pub deleted_date_ms: u64,
    pub attributes: FileAttribute,
    pub mime_type: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RecycleBinItem {
    pub original_path: String,
    pub deleted_time_ms: u64,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Size {
    pub width: u32,
    pub height: u32,
}