From 1a3312428827a609bfe9f6d5ae717760cb76cab1 Mon Sep 17 00:00:00 2001 From: buty4649 Date: Tue, 12 Dec 2023 01:34:03 +0900 Subject: [PATCH] initialize commit --- .gitignore | 5 ++++ Cargo.toml | 17 +++++++++++++ README.md | 8 +++++++ docs/sample_notify.png | Bin 0 -> 72766 bytes src/main.rs | 50 ++++++++++++++++++++++++++++++++++++++ src/toast.rs | 53 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 133 insertions(+) create mode 100644 Cargo.toml create mode 100644 docs/sample_notify.png create mode 100644 src/main.rs create mode 100644 src/toast.rs diff --git a/.gitignore b/.gitignore index 6985cf1..196e176 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,8 @@ Cargo.lock # MSVC Windows builds of rustc generate these, which store debugging information *.pdb + + +# Added by cargo + +/target diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..fa6e9b3 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "wnotify" +version = "0.1.0" +edition = "2021" +description = "Windows CLI tool for easy, customizable toast notifications." + +[dependencies] +seahorse = "2.2" + +[dependencies.windows] +version = "0.52.0" +features = ["Win32_UI_Shell", "Data_Xml_Dom", "UI_Notifications"] + +[profile.release] +strip = true +opt-level = "z" +lto = true diff --git a/README.md b/README.md index faa7709..bb06bb7 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,10 @@ # windows-notify Windows CLI tool for easy, customizable toast notifications. + +## Usage + +```sh +$ wnotify.exe hello world +``` + +![sample](./docs/sample_notify.png) diff --git a/docs/sample_notify.png b/docs/sample_notify.png new file mode 100644 index 0000000000000000000000000000000000000000..d443ef86bd7399b8d69783f5f45c939574c54b60 GIT binary patch literal 72766 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 literal 0 HcmV?d00001 diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..331043e --- /dev/null +++ b/src/main.rs @@ -0,0 +1,50 @@ +mod toast; + +use seahorse::{ActionError, ActionResult, App, Context, Flag, FlagType}; + +use std::env; +use std::process::exit; + +fn main() { + let args = env::args().collect::>(); + + let app = App::new(env!("CARGO_PKG_NAME")) + .version(env!("CARGO_PKG_VERSION")) + .usage(format!("{} []", env!("CARGO_PKG_NAME"))) + .flag( + Flag::new("app-id", FlagType::String) + .description("The App ID to use for the notification") + .alias("a"), + ) + .action_with_result(do_action); + + match app.run_with_result(args) { + Ok(_) => {} + Err(ActionError { message }) => { + eprintln!("Error: {}", message); + exit(1) + } + } +} + +fn do_action(c: &Context) -> ActionResult { + if c.args.is_empty() { + return Err(ActionError { + message: "No arguments provided".to_string(), + }); + } + + let app_id = if let Ok(app_id) = c.string_flag("app-id") { + app_id + } else { + "wnotify".to_string() + }; + + let text1 = &c.args[0]; + let text2 = c.args.get(1).map(|s| s.as_str()); + + let toast = toast::Toast::new(&app_id, text1, text2); + toast.notify(); + + Ok(()) +} diff --git a/src/toast.rs b/src/toast.rs new file mode 100644 index 0000000..6519cf5 --- /dev/null +++ b/src/toast.rs @@ -0,0 +1,53 @@ +use windows::{ + core::HSTRING, + Data::Xml::Dom::XmlDocument, + UI::Notifications::{ToastNotification, ToastNotificationManager}, +}; + +pub struct Toast { + app_id: String, + text1: String, + text2: Option, +} + +impl Toast { + pub fn new(app_id: &str, text1: &str, text2: Option<&str>) -> Toast { + Toast { + app_id: app_id.to_string(), + text1: text1.to_string(), + text2: text2.map(|s| s.to_string()), + } + } + + pub fn notify(&self) { + let toast_xml = format!( + r#" + + + + {} + + + "#, + self.app_id, self.text1 + ); + + let xml = XmlDocument::new().unwrap(); + xml.LoadXml(&HSTRING::from(toast_xml)).unwrap(); + + if let Some(text2) = &self.text2 { + let text = xml.CreateElement(&HSTRING::from("text")).unwrap(); + text.SetInnerText(&HSTRING::from(text2)).unwrap(); + xml.SelectSingleNode(&HSTRING::from("/toast/visual/binding")) + .unwrap() + .AppendChild(&text) + .unwrap(); + } + let template = ToastNotification::CreateToastNotification(&xml).unwrap(); + + let notifier = + ToastNotificationManager::CreateToastNotifierWithId(&HSTRING::from(&self.app_id)) + .unwrap(); + notifier.Show(&template).unwrap(); + } +}