pub struct Handle<T> { /* private fields */ }
Expand description
Handle to the tray
Implementations§
source§impl<T: Tray> Handle<T>
impl<T: Tray> Handle<T>
sourcepub fn update<R, F: FnOnce(&mut T) -> R>(&self, f: F) -> R
pub fn update<R, F: FnOnce(&mut T) -> R>(&self, f: F) -> R
Update the tray
Examples found in repository?
examples/example.rs (lines 103-105)
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
fn main() {
let service = ksni::TrayService::new(MyTray {
selected_option: 0,
checked: false,
});
let handle = service.handle();
service.spawn();
std::thread::sleep(std::time::Duration::from_secs(5));
// We can modify the handle
handle.update(|tray: &mut MyTray| {
tray.checked = true;
});
// Run forever
loop {
std::thread::park();
}
}
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for Handle<T>
impl<T> RefUnwindSafe for Handle<T>
impl<T> Send for Handle<T>where
T: Send,
impl<T> Sync for Handle<T>where
T: Send,
impl<T> Unpin for Handle<T>
impl<T> UnwindSafe for Handle<T>
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