pub struct AppHandle<R: Runtime = Wry> { /* private fields */ }
Expand description
A handle to the currently running application.
This type implements Manager
which allows for manipulation of global application items.
Implementations§
source§impl AppHandle<Wry>
impl AppHandle<Wry>
APIs specific to the wry runtime.
sourcepub fn create_tao_window<F: FnOnce() -> (String, TaoWindowBuilder) + Send + 'static>(
&self,
f: F
) -> Result<Weak<Window>>
pub fn create_tao_window<F: FnOnce() -> (String, TaoWindowBuilder) + Send + 'static>( &self, f: F ) -> Result<Weak<Window>>
Create a new tao window using a callback. The event loop must be running at this point.
sourcepub fn send_tao_window_event(
&self,
window_id: TaoWindowId,
message: WindowMessage
) -> Result<()>
pub fn send_tao_window_event( &self, window_id: TaoWindowId, message: WindowMessage ) -> Result<()>
Sends a window message to the event loop.
source§impl<R: Runtime> AppHandle<R>
impl<R: Runtime> AppHandle<R>
sourcepub fn run_on_main_thread<F: FnOnce() + Send + 'static>(
&self,
f: F
) -> Result<()>
pub fn run_on_main_thread<F: FnOnce() + Send + 'static>( &self, f: F ) -> Result<()>
Runs the given closure on the main thread.
sourcepub fn plugin<P: Plugin<R> + 'static>(&self, plugin: P) -> Result<()>
pub fn plugin<P: Plugin<R> + 'static>(&self, plugin: P) -> Result<()>
Adds a Tauri application plugin.
This function can be used to register a plugin that is loaded dynamically e.g. after login.
For plugins that are created when the app is started, prefer Builder::plugin
.
See Builder::plugin
for more information.
§Examples
use tauri::{plugin::{Builder as PluginBuilder, TauriPlugin}, Runtime};
fn init_plugin<R: Runtime>() -> TauriPlugin<R> {
PluginBuilder::new("dummy").build()
}
tauri::Builder::default()
.setup(move |app| {
let handle = app.handle().clone();
std::thread::spawn(move || {
handle.plugin(init_plugin());
});
Ok(())
});
sourcepub fn remove_plugin(&self, plugin: &'static str) -> bool
pub fn remove_plugin(&self, plugin: &'static str) -> bool
Removes the plugin with the given name.
§Examples
use tauri::{plugin::{Builder as PluginBuilder, TauriPlugin, Plugin}, Runtime};
fn init_plugin<R: Runtime>() -> TauriPlugin<R> {
PluginBuilder::new("dummy").build()
}
let plugin = init_plugin();
// `.name()` requires the `PLugin` trait import
let plugin_name = plugin.name();
tauri::Builder::default()
.plugin(plugin)
.setup(move |app| {
let handle = app.handle().clone();
std::thread::spawn(move || {
handle.remove_plugin(plugin_name);
});
Ok(())
});
sourcepub fn exit(&self, exit_code: i32)
pub fn exit(&self, exit_code: i32)
Exits the app by triggering RunEvent::ExitRequested
and RunEvent::Exit
.
sourcepub fn restart(&self)
pub fn restart(&self)
Restarts the app by triggering RunEvent::ExitRequested
with code [RESTART_EXIT_CODE
] and RunEvent::Exit
..
source§impl<R: Runtime> AppHandle<R>
impl<R: Runtime> AppHandle<R>
sourcepub fn config(&self) -> &Config
pub fn config(&self) -> &Config
Gets the app’s configuration, defined on the tauri.conf.json
file.
sourcepub fn package_info(&self) -> &PackageInfo
pub fn package_info(&self) -> &PackageInfo
Gets the app’s package information.
sourcepub fn asset_resolver(&self) -> AssetResolver<R>
pub fn asset_resolver(&self) -> AssetResolver<R>
The application’s asset resolver.
sourcepub fn primary_monitor(&self) -> Result<Option<Monitor>>
pub fn primary_monitor(&self) -> Result<Option<Monitor>>
Returns the primary monitor of the system.
Returns None if it can’t identify any monitor as a primary one.
sourcepub fn available_monitors(&self) -> Result<Vec<Monitor>>
pub fn available_monitors(&self) -> Result<Vec<Monitor>>
Returns the list of all the monitors available on the system.
sourcepub fn default_window_icon(&self) -> Option<&Icon>
pub fn default_window_icon(&self) -> Option<&Icon>
Returns the default window icon.
sourcepub fn cleanup_before_exit(&self)
pub fn cleanup_before_exit(&self)
Runs necessary cleanup tasks before exiting the process. You should always exit the tauri app immediately after this function returns and not use any tauri-related APIs.
source§impl<R: Runtime> AppHandle<R>
impl<R: Runtime> AppHandle<R>
Event system APIs.
sourcepub fn listen<F>(&self, event: impl Into<String>, handler: F) -> EventId
pub fn listen<F>(&self, event: impl Into<String>, handler: F) -> EventId
Listen to an event on this app.
§Examples
use tauri::Manager;
tauri::Builder::default()
.setup(|app| {
app.listen("component-loaded", move |event| {
println!("window just loaded a component");
});
Ok(())
});
sourcepub fn unlisten(&self, id: EventId)
pub fn unlisten(&self, id: EventId)
Unlisten to an event on this app.
§Examples
use tauri::Manager;
tauri::Builder::default()
.setup(|app| {
let handler = app.listen("component-loaded", move |event| {
println!("app just loaded a component");
});
// stop listening to the event when you do not need it anymore
app.unlisten(handler);
Ok(())
});
Trait Implementations§
source§impl<'de, R: Runtime> CommandArg<'de, R> for AppHandle<R>
impl<'de, R: Runtime> CommandArg<'de, R> for AppHandle<R>
source§fn from_command(command: CommandItem<'de, R>) -> Result<Self, InvokeError>
fn from_command(command: CommandItem<'de, R>) -> Result<Self, InvokeError>
Grabs the Window
from the CommandItem
and returns the associated AppHandle
. This will never fail.
source§impl<R: Runtime> HasRawDisplayHandle for AppHandle<R>
impl<R: Runtime> HasRawDisplayHandle for AppHandle<R>
fn raw_display_handle(&self) -> RawDisplayHandle
source§impl<R: Runtime> Manager<R> for AppHandle<R>
impl<R: Runtime> Manager<R> for AppHandle<R>
source§fn app_handle(&self) -> &AppHandle<R>
fn app_handle(&self) -> &AppHandle<R>
source§fn package_info(&self) -> &PackageInfo
fn package_info(&self) -> &PackageInfo
PackageInfo
the manager was created with.source§fn get_window(&self, label: &str) -> Option<Window<R>>
fn get_window(&self, label: &str) -> Option<Window<R>>
unstable
only.source§fn get_focused_window(&self) -> Option<Window<R>>
fn get_focused_window(&self) -> Option<Window<R>>
unstable
only.None
if there is not any focused window.source§fn windows(&self) -> HashMap<String, Window<R>>
fn windows(&self) -> HashMap<String, Window<R>>
unstable
only.source§fn get_webview(&self, label: &str) -> Option<Webview<R>>
fn get_webview(&self, label: &str) -> Option<Webview<R>>
unstable
only.source§fn webviews(&self) -> HashMap<String, Webview<R>>
fn webviews(&self) -> HashMap<String, Webview<R>>
unstable
only.source§fn get_webview_window(&self, label: &str) -> Option<WebviewWindow<R>>
fn get_webview_window(&self, label: &str) -> Option<WebviewWindow<R>>
source§fn webview_windows(&self) -> HashMap<String, WebviewWindow<R>>
fn webview_windows(&self) -> HashMap<String, WebviewWindow<R>>
source§fn manage<T>(&self, state: T) -> bool
fn manage<T>(&self, state: T) -> bool
state
to the state managed by the application. Read moresource§fn try_state<T>(&self) -> Option<State<'_, T>>
fn try_state<T>(&self) -> Option<State<'_, T>>
T
. Read more