Struct SystemTray

Source
pub struct SystemTray {
    pub desktop_count: Cell<u32>,
    pub desktop_index: Cell<u32>,
    has_light_taskbar: Cell<bool>,
    desktop_names: RefCell<Vec<Option<Rc<str>>>>,
    pub dynamic_ui: DynamicUi<Self>,
}
Expand description

Common handle used by tray plugins, usually behind an Rc stored inside SystemTrayRef.

Fields§

§desktop_count: Cell<u32>

The total number of virtual desktops.

§desktop_index: Cell<u32>

The 0-based index of the currently active virtual desktop.

§has_light_taskbar: Cell<bool>

Windows has separate modes for Windows itself and other apps. This tracks whether the taskbar and Windows uses light colors.

§desktop_names: RefCell<Vec<Option<Rc<str>>>>§dynamic_ui: DynamicUi<Self>

Implementations§

Source§

impl SystemTray

Plugins.

Source

pub fn new(plugins: Vec<Box<dyn TrayPlugin>>) -> Rc<Self>

Source

fn update_desktop_info(&self)

Source

fn check_if_light_taskbar() -> bool

Source

pub fn build_ui(self: Rc<Self>) -> Result<DynamicUiOwner<Self>, NwgError>

Source

pub fn root(&self) -> Ref<'_, TrayRoot>

Source

pub fn settings(&self) -> Ref<'_, UiSettingsPlugin>

Source

pub fn get_desktop_name(&self, index: u32) -> Option<Rc<str>>

Source

pub fn has_light_taskbar(&self) -> bool

Windows has separate modes for Windows itself and other apps. This tracks whether the taskbar and Windows uses light colors.

Source§

impl SystemTray

Events.

Source

pub fn notify_quick_switch_hotkey(self: &Rc<Self>)

Source

pub fn notify_open_menu_at_mouse_position_hotkey(self: &Rc<Self>)

Source

pub fn notify_settings_changed( self: &Rc<Self>, prev: &Arc<UiSettings>, new: &Arc<UiSettings>, )

Source

fn notify_windows_mode_change(self: &Rc<Self>)

Source

fn notify_explorer_restart(&self)

Source

fn update_desktop_count(self: &Rc<Self>)

Source

pub fn notify_desktop_event(self: &Rc<Self>, event: DesktopEvent)

Source

fn notify_tray_left_click(&self)

Source

fn notify_tray_middle_click(&self)

Source

fn notify_tray_menu_closed(&self)

Source

fn notify_key_press_in_menu( self: &Rc<Self>, key_code: u32, active_menu_handle: isize, ) -> Option<MenuKeyPressEffect>

Note: this isn’t run inside a SystemTray::handle_action callback and so we might handle events while something is being rebuilt.

Source§

impl SystemTray

Commands.

Source

pub fn switch_desktop(&self, desktop_ix: u32)

Source

fn hide_menu(&self)

This doesn’t seem to actually do anything, needs to be changed to actually work.

Source

pub fn show_menu(&self, position: MenuPosition)

Source

pub fn reshow_menu(&self, position: MenuPosition)

Close and then re-open the context menu to ensure it is opened at the requested position.

Source

pub fn close_menu(&self) -> bool

Close the context menu if it is open. Returns true if an existing menu was closed.

Note: the menu won’t be closed until you return to the event loop. This means that re-opening the menu immediately after will not work.

Source

pub fn show_notification(&self, title: &str, text: &str)

Source

pub fn apply_filters(&self)

Source

pub fn configure_filters(&self, refocus: bool)

Source

pub fn stop_flashing_windows(&self)

Source

pub fn exit(&self)

Trait Implementations§

Source§

impl Debug for SystemTray

Source§

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

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

impl DynamicUiHooks<SystemTray> for ApplyFilters

Source§

fn before_partial_build( &mut self, _tray_ui: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, _dynamic_ui: &Rc<T>)

Called right after the ui has finished building. Read more
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<T>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<T>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

impl DynamicUiHooks<SystemTray> for AutoStartPlugin

Source§

fn before_partial_build( &mut self, _tray_ui: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, tray_ui: &Rc<SystemTray>)

Called right after the ui has finished building. Read more
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<T>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<T>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

impl DynamicUiHooks<SystemTray> for BackspaceAsEscapeAlias

Source§

fn before_partial_build( &mut self, _dynamic_ui: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, _dynamic_ui: &Rc<T>)

Called right after the ui has finished building. Read more
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<T>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<T>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

impl DynamicUiHooks<SystemTray> for BottomMenuItems

Source§

fn before_partial_build( &mut self, tray_ui: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, _dynamic_ui: &Rc<T>)

Called right after the ui has finished building. Read more
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<T>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<T>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

impl DynamicUiHooks<SystemTray> for ConfigWindow

Source§

fn before_partial_build( &mut self, dynamic_ui: &Rc<SystemTray>, should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, _dynamic_ui: &Rc<SystemTray>)

Called right after the ui has finished building. Read more
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<SystemTray>, handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<SystemTray>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<SystemTray>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

impl DynamicUiHooks<SystemTray> for DynamicVirtualDesktopEventManager

Source§

fn before_partial_build( &mut self, tray: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, tray_ui: &Rc<SystemTray>)

Called right after the ui has finished building. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<SystemTray>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

fn process_raw_event( &self, dynamic_ui: &Rc<SystemTray>, hwnd: isize, msg: u32, w: usize, l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<T>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

impl DynamicUiHooks<SystemTray> for FlatSwitchMenu

Source§

fn before_partial_build( &mut self, tray_ui: &Rc<SystemTray>, should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn need_rebuild(&self, tray_ui: &Rc<SystemTray>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn after_partial_build(&mut self, _dynamic_ui: &Rc<T>)

Called right after the ui has finished building. Read more
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<T>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

impl DynamicUiHooks<SystemTray> for HotKeyPlugin

Source§

fn before_partial_build( &mut self, tray: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, _dynamic_ui: &Rc<SystemTray>)

Called right after the ui has finished building. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<SystemTray>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<T>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

impl DynamicUiHooks<SystemTray> for OpenSubmenuPlugin

Source§

fn before_partial_build( &mut self, tray_ui: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<SystemTray>, evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn after_partial_build(&mut self, _dynamic_ui: &Rc<T>)

Called right after the ui has finished building. Read more
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<T>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<T>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

impl DynamicUiHooks<SystemTray> for PanicNotifier

Source§

fn before_partial_build( &mut self, tray_ui: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, tray_ui: &Rc<SystemTray>)

Called right after the ui has finished building. Read more
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<T>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<T>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

impl DynamicUiHooks<SystemTray> for QuickSwitchMenuUiAdapter

Source§

fn before_partial_build( &mut self, tray_ui: &Rc<SystemTray>, should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn need_rebuild(&self, tray_ui: &Rc<SystemTray>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn before_rebuild(&mut self, _tray_ui: &Rc<SystemTray>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

fn after_partial_build(&mut self, _dynamic_ui: &Rc<T>)

Called right after the ui has finished building. Read more
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

impl DynamicUiHooks<SystemTray> for QuickSwitchTopMenu

Source§

fn before_partial_build( &mut self, tray_ui: &Rc<SystemTray>, should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, _dynamic_ui: &Rc<SystemTray>)

Called right after the ui has finished building. Read more
Source§

fn need_rebuild(&self, tray_ui: &Rc<SystemTray>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<SystemTray>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

impl DynamicUiHooks<SystemTray> for SmoothDesktopSwitcher

Source§

fn before_partial_build( &mut self, tray_ui: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<SystemTray>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

fn after_partial_build(&mut self, _dynamic_ui: &Rc<T>)

Called right after the ui has finished building. Read more
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<T>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

impl DynamicUiHooks<SystemTray> for TopMenuItems

Source§

fn before_partial_build( &mut self, tray_ui: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, tray_ui: &Rc<SystemTray>)

Called right after the ui has finished building. Read more
Source§

fn before_rebuild(&mut self, tray_ui: &Rc<SystemTray>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

fn after_process_events( &self, dynamic_ui: &Rc<SystemTray>, evt: Event, _evt_data: &EventData, handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<T>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

impl DynamicUiHooks<SystemTray> for TrayRoot

Source§

fn before_partial_build( &mut self, _dynamic_ui: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, tray_ui: &Rc<SystemTray>)

Called right after the ui has finished building. Read more
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<SystemTray>, handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<SystemTray>, evt: Event, _evt_data: &EventData, handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, tray_ui: &Rc<SystemTray>, _hwnd: isize, msg: u32, w: usize, l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<SystemTray>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<SystemTray>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

impl DynamicUiHooks<SystemTray> for UiSettingsPlugin

Source§

fn before_partial_build( &mut self, tray_ui: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, tray_ui: &Rc<SystemTray>)

Called right after the ui has finished building. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<SystemTray>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<T>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

impl DynamicUiHooks<SystemTray> for VirtualDesktopEventManager

Source§

fn before_partial_build( &mut self, tray: &Rc<SystemTray>, _should_build: &mut bool, ) -> Option<(ControlHandle, TypeId)>

Called before the item has been built. The returned parent will be passed to [nwg::PartialUi::build_partial] and used by controls in structs that make use of the [nwd::NwgPartial] derive macro. Read more
Source§

fn after_partial_build(&mut self, tray_ui: &Rc<SystemTray>)

Called right after the ui has finished building. Read more
Source§

fn before_rebuild(&mut self, _dynamic_ui: &Rc<SystemTray>)

Do some cleanup before the plugin is built again. By default this resets the state to its default value.
Source§

fn after_handles<'a>( &'a self, _dynamic_ui: &Rc<T>, _handles: &mut Vec<&'a ControlHandle>, )

Run right after [nwg::PartialUi::handles] and allows modifying its result.
Source§

fn need_raw_events_for_children(&self) -> bool

Called after DynamicUiHooks::after_handles to check if we should bind raw event handlers for child controls as well.
Source§

fn after_process_events( &self, _dynamic_ui: &Rc<T>, _evt: Event, _evt_data: &EventData, _handle: ControlHandle, _window: ControlHandle, )

Run right after [nwg::PartialUi::process_event] and allows easily doing some extra processing. Useful since the original method might be implemented by a derive macro which would make it difficult to modify.
Source§

fn process_raw_event( &self, _dynamic_ui: &Rc<T>, _hwnd: isize, _msg: u32, _w: usize, _l: isize, _window: ControlHandle, ) -> Option<isize>

Listen to raw window events (not filtered or processed by [native_windows_gui]). The first result that returns Some will be used as the actual return value for the event. Read more
Source§

fn need_rebuild(&self, _dynamic_ui: &Rc<T>) -> bool

Indicate that this item needs to be rebuilt. Maybe because its part of a context menu and its items need to be changed. Read more
Source§

fn is_ordered_in_parent(&self) -> bool

Indicates if this item has a specific position relative to other items in its parent. If this returns true then the item will be rebuilt after previous siblings (items that share the same parent) are rebuilt. Read more
Source§

impl DynamicUiWrapper for SystemTray

Source§

type Hooks = dyn TrayPlugin

Source§

fn get_dynamic_ui(&self) -> &DynamicUi<Self>

Source§

fn get_dynamic_ui_mut(&mut self) -> &mut DynamicUi<Self>

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
§

impl<Src, Scheme> ApproxFrom<Src, Scheme> for Src
where Scheme: ApproxScheme,

§

type Err = NoError

The error type produced by a failed conversion.
§

fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>

Convert the given value into an approximately equivalent representation.
§

impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src
where Dst: ApproxFrom<Src, Scheme>, Scheme: ApproxScheme,

§

type Err = <Dst as ApproxFrom<Src, Scheme>>::Err

The error type produced by a failed conversion.
§

fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>

Convert the subject into an approximately equivalent representation.
Source§

impl<T> AsAny for T
where T: 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Source§

fn type_name(&self) -> &'static str

Source§

fn swap_dyn(&mut self, other: &mut (dyn Any + 'static)) -> bool

Swap 2 values. Returns true if both values had the same type and so the swap was successful.
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
§

impl<T, Dst> ConvAsUtil<Dst> for T

§

fn approx(self) -> Result<Dst, Self::Err>
where Self: Sized + ApproxInto<Dst>,

Approximate the subject with the default scheme.
§

fn approx_by<Scheme>(self) -> Result<Dst, Self::Err>
where Self: Sized + ApproxInto<Dst, Scheme>, Scheme: ApproxScheme,

Approximate the subject with a specific scheme.
§

impl<T> ConvUtil for T

§

fn approx_as<Dst>(self) -> Result<Dst, Self::Err>
where Self: Sized + ApproxInto<Dst>,

Approximate the subject to a given type with the default scheme.
§

fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
where Self: Sized + ApproxInto<Dst, Scheme>, Scheme: ApproxScheme,

Approximate the subject to a given type with a specific scheme.
§

fn into_as<Dst>(self) -> Dst
where Self: Sized + Into<Dst>,

Convert the subject to a given type.
§

fn try_as<Dst>(self) -> Result<Dst, Self::Err>
where Self: Sized + TryInto<Dst>,

Attempt to convert the subject to a given type.
§

fn value_as<Dst>(self) -> Result<Dst, Self::Err>
where Self: Sized + ValueInto<Dst>,

Attempt a value conversion of the subject to a given type.
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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
§

impl<Src> TryFrom<Src> for Src

§

type Err = NoError

The error type produced by a failed conversion.
§

fn try_from(src: Src) -> Result<Src, <Src as TryFrom<Src>>::Err>

Convert the given value into the subject type.
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.
§

impl<Src, Dst> TryInto<Dst> for Src
where Dst: TryFrom<Src>,

§

type Err = <Dst as TryFrom<Src>>::Err

The error type produced by a failed conversion.
§

fn try_into(self) -> Result<Dst, <Src as TryInto<Dst>>::Err>

Convert the subject into the destination type.
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<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<Src> ValueFrom<Src> for Src

§

type Err = NoError

The error type produced by a failed conversion.
§

fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>

Convert the given value into an exactly equivalent representation.
§

impl<Src, Dst> ValueInto<Dst> for Src
where Dst: ValueFrom<Src>,

§

type Err = <Dst as ValueFrom<Src>>::Err

The error type produced by a failed conversion.
§

fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>

Convert the subject into an exactly equivalent representation.
§

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