feat: implement show

This commit is contained in:
2026-09-30 14:17:29 +02:00
parent ef7be1b8a2
commit 393bc07d7f

View File

@@ -249,7 +249,29 @@ impl<'a> Notification {
/// Tells the notification server to display the notification on the screen
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.