use serde::Deserialize; pub mod node; #[derive(Deserialize, Debug)] pub struct WorkspaceEvent { pub change: String, pub old: Option, pub current: Option, } #[derive(Deserialize, Debug)] pub struct Workspace { pub name: String, pub focused: bool, // pub num: i32, pub output: String, } #[derive(Debug, Deserialize)] pub struct WindowEvent { pub change: String, pub container: SwayNode, } #[derive(Debug, Deserialize)] pub struct SwayNode { #[serde(rename = "type")] pub node_type: String, pub id: i32, pub name: Option, pub app_id: Option, pub focused: bool, pub urgent: bool, pub nodes: Vec, pub floating_nodes: Vec, pub shell: Option, pub window_properties: Option, } #[derive(Debug, Deserialize)] pub struct WindowProperties { pub class: String, } #[derive(Deserialize)] pub struct SwayOutput { pub name: String, }