Struct notify_rust::Notification [−][src]
#[non_exhaustive]pub struct Notification { pub appname: String, pub summary: String, pub subtitle: Option<String>, pub body: String, pub icon: String, pub actions: Vec<String>, pub timeout: Timeout, // some fields omitted }
Expand description
Desktop notification.
A desktop notification is configured via builder pattern, before it is launched with show().
Example
Notification::new()
.summary("☝️ A notification")
.show()?;Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct {{ .. }} syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.appname: StringExpand description
Filled by default with executable name.
summary: StringExpand description
Single line to summarize the content.
subtitle: Option<String>Expand description
Subtitle for macOS
body: StringExpand description
Multiple lines possible, may support simple markup,
check out get_capabilities() -> body-markup and body-hyperlinks.
icon: StringExpand description
Use a file:// URI or a name in an icon theme, must be compliant freedesktop.org.
actions: Vec<String>Expand description
See Notification::actions() and Notification::action()
timeout: TimeoutExpand description
Lifetime of the Notification in ms. Often not respected by server, sorry.
Implementations
impl Notification[src]
impl Notification[src]pub fn new() -> Notification[src]
pub fn new() -> Notification[src]Constructs a new Notification.
Most fields are empty by default, only appname is initialized with the name of the current
executable.
The appname is used by some desktop environments to group notifications.
pub fn appname(&mut self, appname: &str) -> &mut Notification[src]
pub fn appname(&mut self, appname: &str) -> &mut Notification[src]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()
pub fn summary(&mut self, summary: &str) -> &mut Notification[src]
pub fn summary(&mut self, summary: &str) -> &mut Notification[src]Set the summary.
Often acts as title of the notification. For more elaborate content use the body field.
pub fn subtitle(&mut self, subtitle: &str) -> &mut Notification[src]
pub fn subtitle(&mut self, subtitle: &str) -> &mut Notification[src]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 😈🤘.
pub fn image_path(&mut self, path: &str) -> &mut Notification[src]
pub fn image_path(&mut self, path: &str) -> &mut Notification[src]Wrapper for NotificationHint::ImagePath
pub fn app_id(&mut self, app_id: &str) -> &mut Notification[src]
pub fn app_id(&mut self, app_id: &str) -> &mut Notification[src]app’s System.AppUserModel.ID
pub fn sound_name(&mut self, name: &str) -> &mut Notification[src]
pub fn sound_name(&mut self, name: &str) -> &mut Notification[src]Set the sound_name for the NSUserNotification
pub fn body(&mut self, body: &str) -> &mut Notification[src]
pub fn body(&mut self, body: &str) -> &mut Notification[src]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.
pub fn icon(&mut self, icon: &str) -> &mut Notification[src]
pub fn icon(&mut self, icon: &str) -> &mut Notification[src]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()
pub fn auto_icon(&mut self) -> &mut Notification[src]
pub fn auto_icon(&mut self) -> &mut Notification[src]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()
pub fn timeout<T: Into<Timeout>>(&mut self, timeout: T) -> &mut Notification[src]
pub fn timeout<T: Into<Timeout>>(&mut self, timeout: T) -> &mut Notification[src]Set the timeout.
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.
Platform support
This only works on XDG Desktops, macOS does not support manually setting the timeout.
pub fn actions(&mut self, actions: Vec<String>) -> &mut Notification[src]
👎 Deprecated: please use .action() only
pub fn actions(&mut self, actions: Vec<String>) -> &mut Notification[src]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.
There is nothing fancy going on here yet. Careful! This replaces the internal list of actions!
(xdg only)
pub fn action(&mut self, identifier: &str, label: &str) -> &mut Notification[src]
pub fn action(&mut self, identifier: &str, label: &str) -> &mut Notification[src]Add an action.
This adds a single action to the internal list of actions.
(xdg only)
pub fn id(&mut self, id: u32) -> &mut Notification[src]
pub fn id(&mut self, id: u32) -> &mut Notification[src]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)
pub fn finalize(&self) -> Notification[src]
pub fn finalize(&self) -> Notification[src]Finalizes a Notification.
Part of the builder pattern, returns a complete copy of the built notification.
Trait Implementations
impl Clone for Notification[src]
impl Clone for Notification[src]fn clone(&self) -> Notification[src]
fn clone(&self) -> Notification[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]Performs copy-assignment from source. Read more
impl Debug for Notification[src]
impl Debug for Notification[src]impl Default for Notification[src]
impl Default for Notification[src]fn default() -> Notification[src]
fn default() -> Notification[src]Returns the “default value” for a type. Read more
Auto Trait Implementations
impl RefUnwindSafe for Notification
impl Send for Notification
impl Sync for Notification
impl Unpin for Notification
impl UnwindSafe for Notification
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more