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.
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
reqwestas HTTP client on the
httpAPIs. Improves performance, but increases the bundle size.
- cli: Enables usage of
clapfor CLI argument parsing. Enabled by default if the
cliconfig is defined on the
- system-tray: Enables application system tray API. Enabled by default if the
systemTrayconfig is defined on the
- updater: Enables the application auto updater. Enabled by default if the
updaterconfig is defined on the
The Tauri API interface.
The singleton async runtime used by Tauri and exposed to consumers.
tokio Runtime and is meant to be used by initialization code, such as plugins
initialization and app
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.
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().
The instance of the currently running application.
A handle to the currently running application.
Builds a Tauri application.
Api exposed on the
The tauri.conf.json mapper.
User supplied data required inside of a Tauri application.
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
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
A position represented in physical pixels.
A size represented in physical pixels.
Metadata for a runtime event loop iteration on
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.
Runtime wrapper around wry.
Runtime errors that can happen inside a Tauri application.
An application event, triggered from the event loop.
A icon definition.
A menu item, bound to a pre-defined action or
Custom emit an event. Note that status bar only
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
The webview runtime interface.
A builder for all attributes related to a single webview.
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.
A closure that is run when the Tauri application is setting up.
A task to run on the main thread.
Mark a function as a command handler. It creates a wrapper function with the necessary glue code.