You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nothing/src-tauri/src/main.rs

55 lines
1.6 KiB

// Prevents additional console window on Windows in release, DO NOT REMOVE!!
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
use crossbeam::channel::Sender;
use overlay::{Event, LockedOverlaySettings, Overlay};
use simple_logger::SimpleLogger;
// use overlay::{Overlay, Manager};
use tauri::Manager;
mod overlay;
#[tauri::command]
fn set_interactable(interactable: bool, state: tauri::State<Sender<Event>>) {
log::info!("set_interactable: {interactable:?}");
if interactable {
state
.send(Event::State(overlay::State::Interactable{}))
.ok();
} else {
state.send(Event::Return).ok();
}
}
#[tauri::command]
fn set_auto_hide(auto_hide: bool, state: tauri::State<LockedOverlaySettings>) {
log::info!("set_auto_hide: {auto_hide:?}");
if let Ok(mut settings) = state.lock() {
settings.auto_hide = auto_hide;
}
}
fn main() {
SimpleLogger::new()
.with_module_level("underlayer", log::LevelFilter::Info)
.with_level(log::LevelFilter::Trace)
.init()
.expect("Could not init logger");
tauri::Builder::default()
.setup(|app| {
let tx = Overlay::initialize(
app.get_window("Overlay")
.expect("Could not get main overlay window"),
"Untitled 1 - Mousepad",
);
app.manage(tx);
Ok(())
})
.invoke_handler(tauri::generate_handler![set_interactable, set_auto_hide])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}