diff --git a/src/main.rs b/src/main.rs index c2cc0b9..b9bb1fc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,11 +1,23 @@ +use std::collections::HashMap; + +enum ActionType { + Normal, + Default, +} + +struct NotifAction { + key: String, + label: String, +} + struct Notif { app_name: String, replace_id: u32, ico: String, //It's string, right? summary: String, body: String, - //Actions - //Hints + actions: Vec<(String, String)>, + hints: HashMap, expir_timeout: i32, } @@ -21,12 +33,34 @@ fn main() { let mut not = Notif { app_name: "snot".to_string(), replace_id: 0, - ico: "alert".to_string(), + ico: "alert.png".to_string(), summary: "This is a very long suuummmaaarrryyy! Don't you believe me????".to_string(), body: "short body(hehe)".to_string(), + actions: vec![ + ("reply".to_string(), "Reply".to_string()), + ("close".to_string(), "Close".to_string()), + ], + hints: HashMap::new(), // Create an empty HashMap for hints expir_timeout: 0 }; + + not.hints.insert("urgency".to_string(), "critical".to_string()); truncate_summary(&mut not); //Limit the summary length - println!("{}",not.summary); -} + println!("AppName: {}\nReplaceId: {}\nIcon: {}\nSummary: {}\nBody: {}\nExpirationTimeout: {}", + not.app_name, + not.replace_id, + not.ico, + not.summary, + not.body, + not.expir_timeout + ); + println!("Actions:"); + for (key, label) in ¬.actions { + println!("\t{}: {}, ", key, label); + } + println!("Hints:"); + for (key, value) in not.hints.iter() { + println!("\t{}: {}, ", key, value); + } +} \ No newline at end of file