fn watch_loop( socket_path: &str, callback: Arc<dyn SelectionWatch>, stop: &AtomicBool, ) -> Result<(), String>