180 条记录
15 私有链接
15 私有链接
// ./src/lib.rs
// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
#[tauri::command]
fn greet(name: &str) -> String {
format!("Hello, {}! You've been greeted from Rust!", name)
}
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.setup(|app| {
{
use tauri::Manager;
// 获取窗口对象
let window = app.get_webview_window("main").unwrap();
// 设置窗口始终在最上层
window.set_always_on_top(true).unwrap();
}
{
use tauri::{AppHandle, Manager};
#[cfg(desktop)]
use tauri_plugin_global_shortcut::{
Code, GlobalShortcutExt, Modifiers, Shortcut, ShortcutState,
}; // 引入窗口管理模块
let alt_x_shortcut = Shortcut::new(Some(Modifiers::ALT), Code::KeyX);
app.handle().plugin(
tauri_plugin_global_shortcut::Builder::new()
.with_handler(move |app_handle: &AppHandle, shortcut, event| {
if shortcut == &alt_x_shortcut {
let window = app_handle.get_webview_window("main").unwrap(); // 获取窗口对象
match event.state() {
ShortcutState::Pressed => {
if window.is_minimized().unwrap() {
window.unminimize().unwrap(); // 还原窗口
println!("窗口已还原!");
} else {
window.minimize().unwrap(); // 最小化窗口
println!("窗口已最小化!");
}
}
ShortcutState::Released => {
// 这里可以添加你想要在松开时执行的逻辑
}
}
}
})
.build(),
)?;
app.global_shortcut().register(alt_x_shortcut)?;
}
Ok(())
})
.plugin(tauri_plugin_shell::init())
.invoke_handler(tauri::generate_handler![greet])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}