Automatically launch your application at system startup.
This plugin requires a Rust version of at least 1.77.2
Platform Level Notes windows
linux
macos
android
ios
Install the autostart plugin to get started.
Use your project’s package manager to add the dependency:
npm run tauri add autostart
yarn run tauri add autostart
deno task tauri add autostart
cargo tauri add autostart
Run the following command in the src-tauri
folder to add the plugin to the project’s dependencies in Cargo.toml
:
cargo add tauri-plugin-autostart --target ' cfg(any(target_os = "macos", windows, target_os = "linux")) '
Modify lib.rs
to initialize the plugin:
#[cfg_attr(mobile, tauri :: mobile_entry_point)]
tauri :: Builder :: default ()
app . handle () . plugin (tauri_plugin_autostart :: init (tauri_plugin_autostart :: MacosLauncher :: LaunchAgent, Some( vec! [ " --flag1 " , " --flag2 " ]) /* arbitrary number of args to pass to your app */ ));
. run (tauri :: generate_context! ())
. expect ( " error while running tauri application " );
You can install the JavaScript Guest bindings using your preferred JavaScript package manager:
npm install @tauri-apps/plugin-autostart
yarn add @tauri-apps/plugin-autostart
pnpm add @tauri-apps/plugin-autostart
deno add npm:@tauri-apps/plugin-autostart
bun add @tauri-apps/plugin-autostart
The autostart plugin is available in both JavaScript and Rust.
import { enable, isEnabled, disable } from ' @tauri-apps/plugin-autostart ' ;
// when using `"withGlobalTauri": true`, you may use
// const { enable, isEnabled, disable } = window.__TAURI__.autostart;
console . log ( ` registered for autostart? ${ await isEnabled () } ` );
#[cfg_attr(mobile, tauri :: mobile_entry_point)]
tauri :: Builder :: default ()
use tauri_plugin_autostart :: MacosLauncher;
use tauri_plugin_autostart :: ManagerExt;
app . handle () . plugin (tauri_plugin_autostart :: init (
MacosLauncher :: LaunchAgent,
Some( vec! [ " --flag1 " , " --flag2 " ]),
// Get the autostart manager
let autostart_manager = app . autolaunch ();
let _ = autostart_manager . enable ();
println! ( " registered for autostart? {} " , autostart_manager . is_enabled () . unwrap ());
let _ = autostart_manager . disable ();
. run (tauri :: generate_context! ())
. expect ( " error while running tauri application " );
By default all potentially dangerous plugin commands and scopes are blocked and cannot be accessed. You must modify the permissions in your capabilities
configuration to enable these.
See the Capabilities Overview for more information and the step by step guide to use plugin permissions.
" autostart:allow-enable " ,
" autostart:allow-disable " ,
" autostart:allow-is-enabled "
This permission set configures if your
application can enable or disable auto
starting the application on boot.
It allows all to check, enable and
disable the automatic start on boot.
allow-enable
allow-disable
allow-is-enabled
Permission Table
Identifier
Description
autostart:allow-disable
Enables the disable command without any pre-configured scope.
autostart:deny-disable
Denies the disable command without any pre-configured scope.
autostart:allow-enable
Enables the enable command without any pre-configured scope.
autostart:deny-enable
Denies the enable command without any pre-configured scope.
autostart:allow-is-enabled
Enables the is_enabled command without any pre-configured scope.
autostart:deny-is-enabled
Denies the is_enabled command without any pre-configured scope.
© 2024 Tauri Contributors. CC-BY / MIT