Struct TrayIcon
pub struct TrayIcon { /* private fields */ }Expand description
Tray icon struct and associated methods.
This type is reference-counted and the icon is removed when the last instance is dropped.
Implementations§
§impl TrayIcon
impl TrayIcon
pub fn new(attrs: TrayIconAttributes) -> Result<TrayIcon, Error>
pub fn new(attrs: TrayIconAttributes) -> Result<TrayIcon, Error>
pub fn with_id<I>(id: I, attrs: TrayIconAttributes) -> Result<TrayIcon, Error>where
I: Into<TrayIconId>,
pub fn with_id<I>(id: I, attrs: TrayIconAttributes) -> Result<TrayIcon, Error>where
I: Into<TrayIconId>,
Builds and adds a new tray icon to the system tray with the specified Id.
See TrayIcon::new for more info.
pub fn id(&self) -> &TrayIconId
pub fn id(&self) -> &TrayIconId
Returns the id associated with this tray icon.
pub fn set_icon(&self, icon: Option<Icon>) -> Result<(), Error>
pub fn set_icon(&self, icon: Option<Icon>) -> Result<(), Error>
Set new tray icon. If None is provided, it will remove the icon.
Set new tray menu.
§Platform-specific:
- Linux: once a menu is set it cannot be removed so
Nonehas no effect
pub fn set_tooltip<S>(&self, tooltip: Option<S>) -> Result<(), Error>
pub fn set_tooltip<S>(&self, tooltip: Option<S>) -> Result<(), Error>
pub fn set_title<S>(&self, title: Option<S>)
pub fn set_title<S>(&self, title: Option<S>)
Sets the tooltip for this tray icon.
§Platform-specific:
- Linux: The title will not be shown unless there is an icon as well. The title is useful for numerical and other frequently updated information. In general, it shouldn’t be shown unless a user requests it as it can take up a significant amount of space on the user’s panel. This may not be shown in all visualizations.
- Windows: Unsupported
pub fn set_visible(&self, visible: bool) -> Result<(), Error>
pub fn set_visible(&self, visible: bool) -> Result<(), Error>
Show or hide this tray icon
pub fn set_temp_dir_path<P>(&self, path: Option<P>)
pub fn set_temp_dir_path<P>(&self, path: Option<P>)
Sets the tray icon temp dir path. Linux only.
On Linux, we need to write the icon to the disk and usually it will
be $XDG_RUNTIME_DIR/tray-icon or $TEMP/tray-icon.
pub fn set_icon_as_template(&self, is_template: bool)
pub fn set_icon_as_template(&self, is_template: bool)
Set the current icon as a template. macOS only.
pub fn set_icon_with_as_template( &self, icon: Option<Icon>, is_template: bool, ) -> Result<(), Error>
pub unsafe fn app_indicator(&self) -> *const AppIndicator
pub unsafe fn app_indicator(&self) -> *const AppIndicator
Get the tray icon’s underlying AppIndicator Linux only.
§Safety
The returned pointer is valid as long as the TrayIcon is.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TrayIcon
impl !RefUnwindSafe for TrayIcon
impl !Send for TrayIcon
impl !Sync for TrayIcon
impl Unpin for TrayIcon
impl !UnwindSafe for TrayIcon
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more