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.
55 lines
1.6 KiB
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");
|
|
}
|