From b1f674e729f736c0cb3e3cbf6d019b986d588fdf Mon Sep 17 00:00:00 2001 From: stephen Date: Wed, 23 Aug 2023 01:15:12 +0000 Subject: [PATCH] named enum params --- src/main.rs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index e3d878a..1159206 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,8 +4,14 @@ use json; use json::JsonValue; enum SwayOutput { - Disabled(String), - Enabled(String,i32,i32), + Disabled { + name: String, + }, + Enabled { + name: String, + width: i32, + height: i32, + } } fn main() { let output = Command::new("swaymsg") @@ -32,16 +38,20 @@ fn main() { let mode = &json_output["modes"][0]; //println!("mode:{:#}",mode); println!("swaymsg output {} mode {}x{}", name, mode["width"], mode["height"]); - outputs.push(SwayOutput::Enabled(name.to_string(), 1, 1)); + outputs.push(SwayOutput::Enabled { + name: name.to_string(), + width: 1, + height: 1 + }); } for output in &outputs { match output { - SwayOutput::Disabled(name) => { + SwayOutput::Disabled { name } => { println!("swaymsg output {} disabled", name); }, - SwayOutput::Enabled(name,w,h) => { - println!("swaymsg output {} mode {}x{}", name, w, h); + SwayOutput::Enabled { name, width, height } => { + println!("swaymsg output {} mode {}x{}", name, width, height); } } }