Struct tauri::App

source ·
pub struct App<R: Runtime = Wry> { /* private fields */ }
Expand description

The instance of the currently running application.

This type implements Manager which allows for manipulation of global application items.

Implementations§

source§

impl App<Wry>

APIs specific to the wry runtime.

source

pub fn wry_plugin<P: PluginBuilder<EventLoopMessage> + Send + 'static>( &mut self, plugin: P )

Adds a tauri_runtime_wry::Plugin using its tauri_runtime_wry::PluginBuilder.

§Stability

This API is unstable.

source§

impl<R: Runtime> App<R>

source

pub fn config(&self) -> &Config

Gets the app’s configuration, defined on the tauri.conf.json file.

source

pub fn package_info(&self) -> &PackageInfo

Gets the app’s package information.

source

pub fn asset_resolver(&self) -> AssetResolver<R>

The application’s asset resolver.

source

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.

source

pub fn available_monitors(&self) -> Result<Vec<Monitor>>

Returns the list of all the monitors available on the system.

source

pub fn default_window_icon(&self) -> Option<&Icon>

Returns the default window icon.

source

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> App<R>

Event system APIs.

source

pub fn listen<F>(&self, event: impl Into<String>, handler: F) -> EventId
where F: Fn(Event) + Send + 'static,

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(())
  });
source

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(())
  });
source

pub fn once<F>(&self, event: impl Into<String>, handler: F)
where F: FnOnce(Event) + Send + 'static,

Listen to an event on this app only once.

See Self::listen for more information.

source§

impl<R: Runtime> App<R>

source

pub fn run_on_main_thread<F: FnOnce() + Send + 'static>( &self, f: F ) -> Result<()>

Runs the given closure on the main thread.

source

pub fn handle(&self) -> &AppHandle<R>

Gets a handle to the application instance.

source

pub fn set_device_event_filter(&mut self, filter: DeviceEventFilter)

Change the device event filter mode.

Since the DeviceEvent capture can lead to high CPU usage for unfocused windows, tao will ignore them by default for unfocused windows on Windows. This method allows changing the filter to explicitly capture them again.

§Platform-specific
  • ** Linux / macOS / iOS / Android**: Unsupported.
§Examples
let mut app = tauri::Builder::default()
  // on an actual app, remove the string argument
  .build(tauri::generate_context!("test/fixture/src-tauri/tauri.conf.json"))
  .expect("error while building tauri application");
app.set_device_event_filter(tauri::DeviceEventFilter::Always);
app.run(|_app_handle, _event| {});
source

pub fn run<F: FnMut(&AppHandle<R>, RunEvent) + 'static>(self, callback: F)

Runs the application.

§Examples
let app = tauri::Builder::default()
  // on an actual app, remove the string argument
  .build(tauri::generate_context!("test/fixture/src-tauri/tauri.conf.json"))
  .expect("error while building tauri application");
app.run(|_app_handle, event| match event {
  tauri::RunEvent::ExitRequested { api, .. } => {
    api.prevent_exit();
  }
  _ => {}
});

Trait Implementations§

source§

impl<R: Runtime> Debug for App<R>

source§

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

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

impl<R: Runtime> HasRawDisplayHandle for App<R>

source§

impl<R: Runtime> Manager<R> for App<R>

source§

fn app_handle(&self) -> &AppHandle<R>

The application handle associated with this manager.
source§

fn config(&self) -> &Config

The Config the manager was created with.
source§

fn package_info(&self) -> &PackageInfo

The PackageInfo the manager was created with.
source§

fn listen_any<F>(&self, event: impl Into<String>, handler: F) -> EventId
where F: Fn(Event) + Send + 'static,

Listen to an emitted event to any target. Read more
source§

fn unlisten(&self, id: EventId)

Remove an event listener. Read more
source§

fn once_any<F>(&self, event: impl Into<String>, handler: F)
where F: FnOnce(Event) + Send + 'static,

Listens once to an emitted event to any target . Read more
source§

fn emit<S: Serialize + Clone>(&self, event: &str, payload: S) -> Result<()>

Emits an event to all targets. Read more
source§

fn emit_to<I, S>(&self, target: I, event: &str, payload: S) -> Result<()>
where I: Into<EventTarget>, S: Serialize + Clone,

Emits an event to all targets matching the given target. Read more
source§

fn emit_filter<S, F>(&self, event: &str, payload: S, filter: F) -> Result<()>
where S: Serialize + Clone, F: Fn(&EventTarget) -> bool,

Emits an event to all targets based on the given filter. Read more
source§

fn get_window(&self, label: &str) -> Option<Window<R>>

Available on crate feature unstable only.
Fetch a single window from the manager.
source§

fn get_focused_window(&self) -> Option<Window<R>>

Available on crate feature unstable only.
Fetch the focused window. Returns None if there is not any focused window.
source§

fn windows(&self) -> HashMap<String, Window<R>>

Available on crate feature unstable only.
Fetch all managed windows.
source§

fn get_webview(&self, label: &str) -> Option<Webview<R>>

Available on crate feature unstable only.
Fetch a single webview from the manager.
source§

fn webviews(&self) -> HashMap<String, Webview<R>>

Available on crate feature unstable only.
Fetch all managed webviews.
source§

fn get_webview_window(&self, label: &str) -> Option<WebviewWindow<R>>

Fetch a single webview window from the manager.
source§

fn webview_windows(&self) -> HashMap<String, WebviewWindow<R>>

Fetch all managed webview windows.
source§

fn manage<T>(&self, state: T) -> bool
where T: Send + Sync + 'static,

Add state to the state managed by the application. Read more
source§

fn state<T>(&self) -> State<'_, T>
where T: Send + Sync + 'static,

Retrieves the managed state for the type T. Read more
source§

fn try_state<T>(&self) -> Option<State<'_, T>>
where T: Send + Sync + 'static,

Attempts to retrieve the managed state for the type T. Read more
source§

fn resources_table(&self) -> MutexGuard<'_, ResourceTable>

Get a reference to the resources table.
source§

fn env(&self) -> Env

Gets the managed Env.
source§

fn asset_protocol_scope(&self) -> Scope

Gets the scope for the asset protocol.
source§

fn path(&self) -> &PathResolver<R>

The path resolver.

Auto Trait Implementations§

§

impl<R = Wry<EventLoopMessage>> !RefUnwindSafe for App<R>

§

impl<R> Send for App<R>
where R: Send,

§

impl<R = Wry<EventLoopMessage>> !Sync for App<R>

§

impl<R> Unpin for App<R>

§

impl<R = Wry<EventLoopMessage>> !UnwindSafe for App<R>

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

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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