81 lines
2.4 KiB
Rust
81 lines
2.4 KiB
Rust
// Prevents additional console window on Windows in release, DO NOT REMOVE!!
|
|
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
|
|
|
#[cfg(target_os = "macos")]
|
|
#[macro_use]
|
|
extern crate cocoa;
|
|
|
|
#[cfg(target_os = "macos")]
|
|
#[macro_use]
|
|
extern crate objc;
|
|
|
|
#[cfg(target_os = "macos")]
|
|
mod mac;
|
|
|
|
#[cfg(target_os = "windows")]
|
|
mod win;
|
|
|
|
mod interceptor;
|
|
mod interop;
|
|
|
|
use tauri::Manager;
|
|
|
|
fn main() {
|
|
tauri_plugin_deep_link::prepare("io.hoppscotch.desktop");
|
|
|
|
tauri::Builder::default()
|
|
.invoke_handler(tauri::generate_handler![
|
|
interop::startup::init::interop_startup_init
|
|
])
|
|
.plugin(
|
|
tauri_plugin_window_state::Builder::default()
|
|
.with_state_flags(
|
|
// NOTE:
|
|
// The app (window labeled "main") manages its visible state via `interop_startup_init`.
|
|
// See `tauri.conf.json`:
|
|
// ```json
|
|
// {
|
|
// "label": "main",
|
|
// "title": "Hoppscotch",
|
|
// ...
|
|
// ...
|
|
// "visible": false, // This is the important part.
|
|
// ...
|
|
// ...
|
|
// }
|
|
// ```
|
|
tauri_plugin_window_state::StateFlags::all()
|
|
& !tauri_plugin_window_state::StateFlags::VISIBLE,
|
|
)
|
|
.build(),
|
|
)
|
|
.plugin(tauri_plugin_store::Builder::default().build())
|
|
.plugin(interceptor::init())
|
|
.setup(|app| {
|
|
if cfg!(target_os = "macos") {
|
|
#[cfg(target_os = "macos")]
|
|
use mac::window::setup_mac_window;
|
|
|
|
#[cfg(target_os = "macos")]
|
|
setup_mac_window(app);
|
|
} else if cfg!(target_os = "windows") {
|
|
#[cfg(target_os = "windows")]
|
|
use win::window::setup_win_window;
|
|
|
|
#[cfg(target_os = "windows")]
|
|
setup_win_window(app);
|
|
}
|
|
|
|
let handle = app.handle();
|
|
tauri_plugin_deep_link::register("hoppscotch", move |request| {
|
|
println!("{:?}", request);
|
|
handle.emit_all("scheme-request-received", request).unwrap();
|
|
})
|
|
.unwrap();
|
|
|
|
Ok(())
|
|
})
|
|
.run(tauri::generate_context!())
|
|
.expect("error while running tauri application");
|
|
}
|