diff --git a/src/ui/single_instance.rs b/src/ui/single_instance.rs index 31a8b42..640fdb2 100644 --- a/src/ui/single_instance.rs +++ b/src/ui/single_instance.rs @@ -3,16 +3,19 @@ use single_instance::SingleInstance; use std::process; pub fn single_instance() { - let instance = SingleInstance::new("hyprdim").unwrap(); + let instance = Box::new(SingleInstance::new("hyprdim").unwrap()); - // Don't allow more than one hyprdim instance to run - if !instance.is_single() { - println!( - "hyprdim is already running. Use `killall hyprdim` to stop any existing processes." - ); + if instance.is_single() { + Box::leak(instance); - process::exit(1); - }; + log("hyprdim is now running."); - log("hyprdim is now running."); + return; + } + + println!( + "hyprdim is already running. Use `killall hyprdim` to stop any existing processes." + ); + + process::exit(1); }