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

pub fn new(attrs: TrayIconAttributes) -> Result<TrayIcon, Error>

Builds and adds a new tray icon to the system tray.

§Platform-specific:
  • Linux: Sometimes the icon won’t be visible unless a menu is set. Setting an empty Menu is enough.

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

Returns the id associated with this tray icon.

pub fn set_icon(&self, icon: Option<Icon>) -> Result<(), Error>

Set new tray icon. If None is provided, it will remove the icon.

pub fn set_menu(&self, menu: Option<Box<dyn ContextMenu>>)

Set new tray menu.

§Platform-specific:
  • Linux: once a menu is set it cannot be removed so None has no effect

pub fn set_tooltip<S>(&self, tooltip: Option<S>) -> Result<(), Error>
where S: AsRef<str>,

Sets the tooltip for this tray icon.

§Platform-specific:
  • Linux: Unsupported

pub fn set_title<S>(&self, title: Option<S>)
where S: AsRef<str>,

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>

Show or hide this tray icon

pub fn set_temp_dir_path<P>(&self, path: Option<P>)
where P: AsRef<Path>,

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)

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 fn set_show_menu_on_left_click(&self, enable: bool)

Disable or enable showing the tray menu on left click.

§Platform-specific:
  • Linux: Unsupported.

pub fn rect(&self) -> Option<Rect>

Get tray icon rect.

§Platform-specific:
  • Linux: Unsupported.

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§

§

impl Clone for TrayIcon

§

fn clone(&self) -> TrayIcon

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> Downcast for T
where T: 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>

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)

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)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

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

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more