2024-02-14 13:48:58 -08:00
|
|
|
//! Add global shortcuts to your app while a component is active
|
|
|
|
//!
|
|
|
|
//! This demo shows how to add a global shortcut to your app that toggles a signal. You could use this to implement
|
|
|
|
//! a raycast-type app, or to add a global shortcut to your app that toggles a component on and off.
|
|
|
|
//!
|
|
|
|
//! These are *global* shortcuts, so they will work even if your app is not in focus.
|
|
|
|
|
2024-01-19 16:36:40 -08:00
|
|
|
use dioxus::desktop::use_global_shortcut;
|
2023-03-01 13:23:15 -06:00
|
|
|
use dioxus::prelude::*;
|
|
|
|
|
|
|
|
fn main() {
|
2024-01-16 11:45:02 -06:00
|
|
|
launch_desktop(app);
|
2023-03-01 13:23:15 -06:00
|
|
|
}
|
|
|
|
|
2024-01-13 20:51:37 -08:00
|
|
|
fn app() -> Element {
|
2024-01-15 23:24:59 -08:00
|
|
|
let mut toggled = use_signal(|| false);
|
2023-06-30 12:48:25 -07:00
|
|
|
|
2024-01-15 17:04:39 -08:00
|
|
|
_ = use_global_shortcut("ctrl+s", move || toggled.toggle());
|
2023-03-01 13:23:15 -06:00
|
|
|
|
2024-01-16 13:18:46 -06:00
|
|
|
rsx!("toggle: {toggled}")
|
2023-03-01 13:23:15 -06:00
|
|
|
}
|