Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ferreira-tb/tauri-plugin-prevent-default
Disable default browser shortcuts
https://github.com/ferreira-tb/tauri-plugin-prevent-default
Last synced: 2 months ago
JSON representation
Disable default browser shortcuts
- Host: GitHub
- URL: https://github.com/ferreira-tb/tauri-plugin-prevent-default
- Owner: ferreira-tb
- License: mit
- Created: 2024-07-01T03:11:37.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-10-31T20:16:51.000Z (2 months ago)
- Last Synced: 2024-10-31T20:21:03.306Z (2 months ago)
- Language: Rust
- Homepage: https://docs.rs/tauri-plugin-prevent-default
- Size: 172 KB
- Stars: 14
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-tauri - tauri-plugin-prevent-default - Disable default browser shortcuts. (Development / Plugins)
README
# 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:
```toml
[dependencies]
tauri-plugin-prevent-default = 0.7
```If using custom listeners, you must also enable the required permissions:
`src-tauri/capabilities/prevent-default.json`
```json
{
"identifier": "prevent-default",
"windows": ["*"],
"permissions": ["prevent-default:default"]
}
```## Usage
Register the plugin with Tauri:
`src-tauri/src/main.rs`
```rust
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.
```rust
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:
```rust
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:
```rust
use tauri_plugin_prevent_default::Flags;tauri_plugin_prevent_default::Builder::new()
.with_flags(Flags::keyboard())
.build()
```- Disable custom shortcuts:
```rust
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:
```rust
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 {
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_plugin_prevent_default::init()
}
```## Platform-specific options
### Windows
The `unstable-native-windows` feature must be enabled.
```toml
[dependencies]
tauri-plugin-prevent-default = { version = "0.7", features = ["unstable-native-windows"] }
``````rust
tauri_plugin_prevent_default::Builder::new()
// Whether general form information should be saved and autofilled.
// Defaults to `true`.
.general_autofill(false)
// Whether password information should be autosaved.
// Defaults to `false`.
.password_autosave(false)
.build()
```## Note
The plugin should work fine on Windows, but there are still tests to be done on MacOS and Linux. If you encounter any problems on these platforms, please [open an issue](https://github.com/ferreira-tb/tauri-plugin-prevent-default/issues).
## Supported Tauri Version
This plugin requires Tauri `2.0` or later.