Crate tauri[][src]

Expand description

Tauri is a framework for building tiny, blazing fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface. The backend of the application is a rust-sourced binary with an API that the front-end can interact with.

Cargo features

The following are a list of Cargo features that can be enabled or disabled:

  • wry (enabled by default): Enables the wry runtime. Only disable it if you want a custom runtime.
  • menu: Enables application menus support.
  • reqwest-client: Uses reqwest as HTTP client on the http APIs. Improves performance, but increases the bundle size.
  • cli: Enables usage of clap for CLI argument parsing. Enabled by default if the cli config is defined on the tauri.conf.json file.
  • system-tray: Enables application system tray API. Enabled by default if the systemTray config is defined on the tauri.conf.json file.
  • updater: Enables the application auto updater. Enabled by default if the updater config is defined on the tauri.conf.json file.


pub use self::window::Monitor;
pub use self::window::Window;


The Tauri API interface.

Async runtime. The singleton async runtime used by Tauri and exposed to consumers. Wraps a tokio Runtime and is meant to be used by initialization code, such as plugins initialization and app setup hooks. Fox more complex use cases, consider creating your own runtime. For command handlers, it’s recommended to use a plain async fn command.

Useful items for custom commands.

Extend Tauri functionality.

The Tauri-specific settings for your runtime e.g. notification permission status.

Tauri Updater

Tauri window.


Reads the config file at compile time and generates a Context based on its content.

Accepts a list of commands functions. Creates a handler that allows commands to be called from JS with invoke().

Include a Context that was generated by tauri-build inside your build script.


The instance of the currently running application.

A handle to the currently running application.

Builds a Tauri application.

Api exposed on the CloseRequested event.

The tauri.conf.json mapper.

User supplied data required inside of a Tauri application.

CustomMenuItemmenu or system-tray

A custom menu item.

A window event that was triggered on the specified window.

The message and resolver given to a custom command.

Error response from an InvokeMessage.

An invoke message.

Resolver of a invoke message.

A position represented in logical pixels.

A size represented in logical pixels.


A window menu.

The window menu event.

App package information.

The payload for the OnPageLoad hook.

A position represented in physical pixels.

A size represented in physical pixels.

Metadata for a runtime event loop iteration on run_iteration.

A guard for a state value.

The Tauri state manager.


A system tray menu.

The attributes used to create an webview.

A menu event that was triggered on a window.

A Tauri Runtime wrapper around wry.


Runtime errors that can happen inside a Tauri application.

An application event, triggered from the event loop.

A icon definition.

Response from a InvokeMessage passed to the InvokeResolver.

A menu item, bound to a pre-defined action or Custom emit an event. Note that status bar only supports Custom menu item variants. And on the menu bar, some platforms might not support some of the variants. Unsupported variant will be no-op on such platform.

A position that’s either physical or logical.

A size that’s either physical or logical.


System tray event.

System tray menu item.

Type of user attention requested on a window.

An event from a window.

The window webview URL options.


Represents a container of file assets that are retrievable during runtime.

Manages a running application.

A pixel definition. Must be created from a f64 value.

The webview runtime interface.

A builder for all attributes related to a single webview.

Type Definitions

A closure that is run everytime Tauri receives a message it doesn’t explicitly handle.

A closure that is run once every time a window is created and loaded.

Result<T, ::tauri::Error>

A closure that is run when the Tauri application is setting up.

A task to run on the main thread.

Attribute Macros

Mark a function as a command handler. It creates a wrapper function with the necessary glue code.