#tauri-plugin #webview #tauri #browser #plugin #shortcut

sys tauri-plugin-prevent-default

Disable default browser shortcuts

37 releases (7 stable)

new 1.3.0 Apr 15, 2025
1.2.1 Mar 3, 2025
1.2.0 Feb 26, 2025
1.0.1 Dec 15, 2024
0.2.1 Jul 28, 2024

#323 in GUI

Download history 36/week @ 2024-12-27 53/week @ 2025-01-03 163/week @ 2025-01-10 114/week @ 2025-01-17 48/week @ 2025-01-24 146/week @ 2025-01-31 67/week @ 2025-02-07 101/week @ 2025-02-14 205/week @ 2025-02-21 503/week @ 2025-02-28 171/week @ 2025-03-07 342/week @ 2025-03-14 274/week @ 2025-03-21 204/week @ 2025-03-28 250/week @ 2025-04-04 248/week @ 2025-04-11

1,040 downloads per month

MIT license

42KB
838 lines

tauri-plugin-prevent-default

Disable default browser shortcuts in your Tauri app, e.g. F3 or Ctrl+J.

Install

Install the plugin by adding the following to your Cargo.toml file:

[dependencies]
tauri-plugin-prevent-default = "1.3"

If using custom listeners, you must also enable the required permissions:

src-tauri/capabilities/prevent-default.json

{
  "identifier": "prevent-default",
  "windows": ["*"],
  "permissions": ["prevent-default:default"]
}

Usage

Register the plugin with Tauri:

src-tauri/src/main.rs

tauri::Builder::default()
  .plugin(tauri_plugin_prevent_default::init())
  .run(tauri::generate_context!())
  .expect("error while running tauri application");

You can also use flags to determine which shortcuts the plugin should disable. By default, it will disable all of them.

use tauri_plugin_prevent_default::Flags;

let prevent = tauri_plugin_prevent_default::Builder::new()
  .with_flags(Flags::CONTEXT_MENU | Flags::PRINT | Flags::DOWNLOADS)
  .build();

tauri::Builder::default()
  .plugin(prevent)
  .run(tauri::generate_context!())
  .expect("error while running tauri application");
  • Disable all but a few:
use tauri_plugin_prevent_default::Flags;

// This will disable all shortcuts, except `FIND` and `RELOAD`.
tauri_plugin_prevent_default::Builder::new()
  .with_flags(Flags::all().difference(Flags::FIND | Flags::RELOAD))
  .build()
  • Disable only keyboard shortcuts:
use tauri_plugin_prevent_default::Flags;

tauri_plugin_prevent_default::Builder::new()
  .with_flags(Flags::keyboard())
  .build()
  • Disable custom shortcuts:
use tauri_plugin_prevent_default::KeyboardShortcut;
use tauri_plugin_prevent_default::ModifierKey::{CtrlKey, ShiftKey};

tauri_plugin_prevent_default::Builder::new()
  .shortcut(KeyboardShortcut::new("F12"))
  .shortcut(KeyboardShortcut::with_modifiers("E", &[CtrlKey, ShiftKey]))
  .shortcut(KeyboardShortcut::with_shift_alt("I"))
  .build();
  • Keep certain shortcuts enabled only when in dev mode:
fn main() {
  tauri::Builder::default()
    .plugin(prevent_default())
    .run(tauri::generate_context!())
    .expect("error while running tauri application");
}

#[cfg(debug_assertions)]
fn prevent_default() -> tauri::plugin::TauriPlugin<tauri::Wry> {
  use tauri_plugin_prevent_default::Flags;

  tauri_plugin_prevent_default::Builder::new()
    .with_flags(Flags::all().difference(Flags::DEV_TOOLS | Flags::RELOAD))
    .build()
}

#[cfg(not(debug_assertions))]
fn prevent_default() -> tauri::plugin::TauriPlugin<tauri::Wry> {
  tauri_plugin_prevent_default::init()
}

Platform-specific options

Windows

The unstable-windows feature must be enabled.

[dependencies]
tauri-plugin-prevent-default = { version = "1.3", features = ["unstable-windows"] }
use tauri_plugin_prevent_default::WindowsOptions;

tauri_plugin_prevent_default::Builder::new()
  .platform(WindowsOptions {
    // Whether general form information should be saved and autofilled.
    general_autofill: true,
    // Whether password information should be autosaved.
    password_autosave: false,
  })
  .build()

Experimental features

Cargo features prefixed with unstable are experimental and may introduce breaking changes between minor versions.

Supported Tauri Version

This plugin requires Tauri 2.0 or later.

Dependencies

~19–75MB
~1M SLoC