add existing settings
This commit is contained in:
@@ -2,9 +2,31 @@
|
||||
all(not(debug_assertions), target_os = "windows"),
|
||||
windows_subsystem = "windows"
|
||||
)]
|
||||
use tauri::Manager;
|
||||
|
||||
// Window Vibrancy
|
||||
#[cfg(target_os = "windows")]
|
||||
use window_vibrancy::apply_mica;
|
||||
#[cfg(target_os = "macos")]
|
||||
use window_vibrancy::{apply_vibrancy, NSVisualEffectMaterial};
|
||||
|
||||
// System Tray
|
||||
use tauri::{
|
||||
menu::{MenuBuilder, MenuItemBuilder},
|
||||
tray::{ClickType, TrayIconBuilder},
|
||||
};
|
||||
|
||||
// Auto Start
|
||||
use tauri_plugin_autostart::MacosLauncher;
|
||||
|
||||
// use tauri_plugin_autostart::ManagerExt;
|
||||
use std::time::{SystemTime, UNIX_EPOCH};
|
||||
|
||||
// Local Modules
|
||||
mod cmds;
|
||||
mod steam;
|
||||
mod tool;
|
||||
|
||||
#[tauri::command]
|
||||
fn on_button_clicked() -> String {
|
||||
let start = SystemTime::now();
|
||||
@@ -17,7 +39,109 @@ fn on_button_clicked() -> String {
|
||||
|
||||
fn main() {
|
||||
tauri::Builder::default()
|
||||
.invoke_handler(tauri::generate_handler![on_button_clicked])
|
||||
.run(tauri::generate_context!())
|
||||
.expect("error while running tauri application");
|
||||
.plugin(tauri_plugin_fs::init())
|
||||
.plugin(tauri_plugin_os::init())
|
||||
.plugin(tauri_plugin_autostart::init(
|
||||
MacosLauncher::LaunchAgent,
|
||||
Some(vec![]),
|
||||
))
|
||||
.plugin(tauri_plugin_process::init())
|
||||
.plugin(tauri_plugin_dialog::init())
|
||||
.plugin(tauri_plugin_store::Builder::default().build())
|
||||
// .plugin(tauri_plugin_updater::Builder::new().build())
|
||||
.invoke_handler(tauri::generate_handler![on_button_clicked])
|
||||
.setup(|app| {
|
||||
// Tray Menu
|
||||
// let quit = CustomMenuItem::new("quit".to_string(), "Quit");
|
||||
// let hide = CustomMenuItem::new("hide".to_string(), "Hide");
|
||||
// let tray_menu = SystemTrayMenu::new() // insert the menu items here
|
||||
// .add_item(hide)
|
||||
// .add_item(quit);
|
||||
// .add_native_item(SystemTrayMenuItem::Separator)
|
||||
let toggle = MenuItemBuilder::with_id("toggle", "Toggle").build(app)?;
|
||||
let menu = MenuBuilder::new(app).items(&[&toggle]).build()?;
|
||||
|
||||
// Setup Tray
|
||||
// let tray = tauri::tray::TrayIconBuilder::with_id("my-tray").build(app)?;
|
||||
let _ = TrayIconBuilder::new()
|
||||
.menu(&menu)
|
||||
.on_menu_event(move |_, event| {
|
||||
match event.id().as_ref() {
|
||||
"toggle" => {
|
||||
println!("toggle clicked");
|
||||
}
|
||||
_ => (),
|
||||
}
|
||||
// match event {
|
||||
// SystemTrayEvent::LeftClick { position: _, size: _, .. } => {
|
||||
// let window = app.get_window("main").unwrap();
|
||||
// window.show().unwrap();
|
||||
// window.set_focus().unwrap();
|
||||
|
||||
// // thread::sleep(Duration::from_millis(100));
|
||||
// // window.set_always_on_top(false).unwrap();
|
||||
// println!("system tray received a left click");
|
||||
// }
|
||||
// SystemTrayEvent::RightClick { position: _, size: _, .. } => {
|
||||
// // let window = app.get_window("main").unwrap();
|
||||
// // window.hide().unwrap();
|
||||
// println!("system tray received a right click");
|
||||
// }
|
||||
// SystemTrayEvent::DoubleClick { position: _, size: _, .. } => {
|
||||
// println!("system tray received a double click");
|
||||
// }
|
||||
// SystemTrayEvent::MenuItemClick { id, .. } =>
|
||||
// match id.as_str() {
|
||||
// "quit" => {
|
||||
// std::process::exit(0);
|
||||
// }
|
||||
// "hide" => {
|
||||
// let window = app.get_window("main").unwrap();
|
||||
// window.hide().unwrap();
|
||||
// }
|
||||
// _ => {}
|
||||
// }
|
||||
// _ => {}
|
||||
// }
|
||||
})
|
||||
.on_tray_icon_event(|tray, event| {
|
||||
if event.click_type == ClickType::Left {
|
||||
let app = tray.app_handle();
|
||||
if let Some(webview_window) = app.get_webview_window("main") {
|
||||
let _ = webview_window.show();
|
||||
let _ = webview_window.set_focus();
|
||||
}
|
||||
}
|
||||
})
|
||||
.build(app)
|
||||
.unwrap();
|
||||
|
||||
// Get Window
|
||||
let window = app.get_webview_window("main").unwrap();
|
||||
|
||||
// Vibrant Window
|
||||
#[cfg(target_os = "macos")]
|
||||
apply_vibrancy(&window, NSVisualEffectMaterial::HudWindow, None, Some(10.0))
|
||||
.expect("Unsupported platform! 'apply_vibrancy' is only supported on macOS");
|
||||
|
||||
#[cfg(target_os = "windows")]
|
||||
apply_mica(&window, Some(false))
|
||||
.expect("Unsupported platform! 'apply_mica' is only supported on Windows");
|
||||
|
||||
// apply_blur(&window, Some((18, 18, 18, 0)))
|
||||
// .expect("Unsupported platform! 'apply_blur' is only supported on Windows");
|
||||
|
||||
Ok(())
|
||||
})
|
||||
.invoke_handler(tauri::generate_handler![
|
||||
cmds::greet,
|
||||
cmds::launch_game,
|
||||
cmds::kill_game,
|
||||
cmds::kill_steam,
|
||||
cmds::get_steam_path,
|
||||
cmds::set_auto_login_user,
|
||||
cmds::check_file_exists
|
||||
])
|
||||
.run(tauri::generate_context!())
|
||||
.expect("error while running tauri application");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user