mirror of
https://github.com/szymon-jozef/libnotify-rs.git
synced 2026-10-28 11:10:43 +01:00
feat: implement show
This commit is contained in:
@@ -249,7 +249,29 @@ impl<'a> Notification {
|
|||||||
|
|
||||||
/// Tells the notification server to display the notification on the screen
|
/// Tells the notification server to display the notification on the screen
|
||||||
pub fn show(&self) -> Result<(), Box<dyn std::error::Error>> {
|
pub fn show(&self) -> Result<(), Box<dyn std::error::Error>> {
|
||||||
todo!();
|
let mut gerror = std::ptr::null_mut() as *mut GError;
|
||||||
|
|
||||||
|
if unsafe { notify_notification_show(self.inner, &mut gerror) } == 0 {
|
||||||
|
if gerror.is_null() {
|
||||||
|
return Err("Unknown error".into());
|
||||||
|
}
|
||||||
|
|
||||||
|
let err_msg = unsafe { *gerror }.message;
|
||||||
|
|
||||||
|
if err_msg.is_null() {
|
||||||
|
unsafe { g_error_free(gerror) };
|
||||||
|
return Err("Unknown error".into());
|
||||||
|
}
|
||||||
|
|
||||||
|
let err_msg_str = unsafe { std::ffi::CStr::from_ptr(err_msg) }
|
||||||
|
.to_string_lossy()
|
||||||
|
.to_string();
|
||||||
|
|
||||||
|
unsafe { g_error_free(gerror) };
|
||||||
|
return Err(err_msg_str.into());
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Updates the notification text and icon.
|
/// Updates the notification text and icon.
|
||||||
|
|||||||
Reference in New Issue
Block a user