pub struct NotificationHandle { /* private fields */ }
Expand description

A handle to a shown notification.

This keeps a connection alive to ensure actions work on certain desktops.

Implementations§

Methods from Deref<Target = Notification>§

source

pub fn appname(&mut self, appname: &str) -> &mut Notification

Overwrite the appname field used for Notification.

Platform Support

Please note that this method has no effect on macOS. Here you can only set the application via set_application()

source

pub fn summary(&mut self, summary: &str) -> &mut Notification

Set the summary.

Often acts as title of the notification. For more elaborate content use the body field.

source

pub fn subtitle(&mut self, subtitle: &str) -> &mut Notification

Set the subtitle.

This is only useful on macOS, it’s not part of the XDG specification and will therefore be eaten by gremlins under your CPU 😈🤘.

source

pub fn sound_name(&mut self, name: &str) -> &mut Notification

Set the sound_name for the NSUserNotification

source

pub fn body(&mut self, body: &str) -> &mut Notification

Set the content of the body field.

Multiline textual content of the notification. Each line should be treated as a paragraph. Simple html markup should be supported, depending on the server implementation.

source

pub fn icon(&mut self, icon: &str) -> &mut Notification

Set the icon field.

You can use common icon names here, usually those in /usr/share/icons can all be used. You can also use an absolute path to file.

Platform support

macOS does not have support manually setting the icon. However you can pretend to be another app using set_application()

source

pub fn auto_icon(&mut self) -> &mut Notification

Set the icon field automatically.

This looks at your binary’s name and uses it to set the icon.

Platform support

macOS does not support manually setting the icon. However you can pretend to be another app using set_application()

source

pub fn timeout<T: Into<Timeout>>(&mut self, timeout: T) -> &mut Notification

Set the timeout.

Accepts multiple types that implement Into<Timeout>.

i31

This sets the time (in milliseconds) from the time the notification is displayed until it is closed again by the Notification Server. According to specification -1 will leave the timeout to be set by the server and 0 will cause the notification never to expire.

Duration

When passing a Duration we will try convert it into milliseconds.

assert_eq!(Timeout::from(Duration::from_millis(2000)), Timeout::Milliseconds(2000));
Caveats!
  1. If the duration is zero milliseconds then the original behavior will apply and the notification will Never timeout.
  2. Should the number of milliseconds not fit within an i32 then we will fall back to the default timeout.
assert_eq!(Timeout::from(Duration::from_millis(0)), Timeout::Never);
assert_eq!(Timeout::from(Duration::from_millis(u64::MAX)), Timeout::Default);
Platform support

This only works on XDG Desktops, macOS does not support manually setting the timeout.

source

pub fn actions(&mut self, actions: Vec<String>) -> &mut Notification

👎Deprecated: please use .action() only

Set actions.

To quote http://www.galago-project.org/specs/notification/0.9/x408.html#command-notify

Actions are sent over as a list of pairs. Each even element in the list (starting at index 0) represents the identifier for the action. Each odd element in the list is the localized string that will be displayed to the user.y

There is nothing fancy going on here yet. Careful! This replaces the internal list of actions!

(xdg only)

source

pub fn action(&mut self, identifier: &str, label: &str) -> &mut Notification

Add an action.

This adds a single action to the internal list of actions.

(xdg only)

source

pub fn id(&mut self, id: u32) -> &mut Notification

Set an Id ahead of time

Setting the id ahead of time allows overriding a known other notification. Though if you want to update a notification, it is easier to use the update() method of the NotificationHandle object that show() returns.

(xdg only)

source

pub fn finalize(&self) -> Notification

Finalizes a Notification.

Part of the builder pattern, returns a complete copy of the built notification.

source

pub fn schedule_raw(&self, timestamp: f64) -> Result<NotificationHandle>

Schedules a Notification

Sends a Notification at the specified timestamp. This is a raw f64, if that is a bit too raw for you please activate the feature "chrono", then you can use Notification::schedule() instead, which accepts a chrno::DateTime<T>.

source

pub fn show(&self) -> Result<NotificationHandle>

Sends Notification to NSUserNotificationCenter.

Returns an Ok no matter what, since there is currently no way of telling the success of the notification.

Trait Implementations§

source§

impl Debug for NotificationHandle

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for NotificationHandle

§

type Target = Notification

The resulting type after dereferencing.
source§

fn deref(&self) -> &Notification

Dereferences the value.
source§

impl DerefMut for NotificationHandle

Allow to easily modify notification properties

source§

fn deref_mut(&mut self) -> &mut Notification

Mutably dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.