#notifications

bin+lib rsnotifyos

RSNotifyOS is a library for printing alerts on Linux and Windows operating systems. It uses the D-Bus IPC and Subprocess protocol to communicate with the desktop notification system on Linux, Windows. Implements a dialog window system to display alerts on both operating systems.

3 releases (1 stable)

1.2.1 Sep 24, 2024
0.1.1 Apr 9, 2024
0.1.0 Mar 20, 2024

#169 in GUI

Download history 173/week @ 2024-09-18 120/week @ 2024-09-25 23/week @ 2024-10-02 3/week @ 2024-10-09

319 downloads per month

MIT license

105KB
2K SLoC

C++ 1.5K SLoC // 0.0% comments Rust 530 SLoC // 0.4% comments

Rust Notification Send (RSNotifyOS)

RSNotifyOS is a library for printing alerts on Linux and Windows operating systems. It uses the D-Bus IPC and Subprocess protocol to communicate with the desktop notification system on Linux, Windows. Implements a dialog window system to display alerts on both operating systems.

News

* Support for Windows notifications (10/11)
* Combining C++ to Rust

Usage

Functions Use:

  • Print a notification (Linux): command:
extern crate rsnotifyos;
use rsnotifyos::RNotify;
    		
fn main() {
    RNotify::cmd_notify("Rust", "dialog-information", "normal", "Hello Word", "", "", 1000);
}

dbus:

extern crate rsnotifyos;
use rsnotifyos::RNotify;
    		
fn main() {
   RNotify::dbus_notify("RNotification", "Notification", "Hello Word!", "dialog-information", &0, &1000)
}
  • Print a notification (Windows 10/11):
extern crate rsnotifyos;
use rsnotifyos::RNotify;

fn main() {
   RNotify::win32notify("Action-Buttom", "App Name Rust Notify", "App user ID", "Text Body: Rust Notification from Windows", r"C:\path\example\win32icon.png", "Urgent", &0);
}
  • Print an alert message in a window (linux, windows): information:
extern crate rsnotifyos;
use rsnotifyos::RNotify;
       		
fn main() {
   RNotify::alert("INFO","Menssage Rust");
}

error:

extern crate rsnotifyos;
use rsnotifyos::RNotify;
       		
fn main() {
    RNotify::alert("ERROR","Error: Menssage Alert Rust");
}

ref doc/usage.md

Installation

  • build linux:
sudo apt-get install libpango1.0-dev libgdk-pixbuf-2.0-dev libglib2.0-dev libgtk-3-dev libcairo2-dev
git clone https://github.com/frerd7/rsnotifyos.git
cargo build
cargo test

or:

cargo install rnotify
  • build windows: Note: You must have Visual C++ installed in order to compile the Notifications library
git clone https://github.com/frerd7/rsnotifyos.git
cargo test

or:

cargo install rnotify
  • debug:
cargo --build --features enable_debug

Example

    cargo run --bin win_notify --features enable_debug
    cargo run --bin notify_event_loop --features enable_debug
    cargo run --bin dbus_notify --features enable_debug

Autor

Frederick Valdez

Credits

C++ Library -> Mohammed Boujemaoui mohabouje@gmail.com

Dependencies

~0–4MB
~96K SLoC