diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/rbw-agent/agent.rs | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/bin/rbw-agent/agent.rs b/src/bin/rbw-agent/agent.rs index 54585a1..1345967 100644 --- a/src/bin/rbw-agent/agent.rs +++ b/src/bin/rbw-agent/agent.rs @@ -61,19 +61,25 @@ impl Agent { } let notifications_handler = crate::notifications::Handler::new(); let clipboard: Box<dyn copypasta::ClipboardProvider> = - copypasta::ClipboardContext::new() - .map(|v| { - Box::new(v) - as Box<dyn copypasta::ClipboardProvider + Send> - }) - .unwrap_or_else(|e| { + copypasta::ClipboardContext::new().map_or_else( + |e| { log::warn!("couldn't create clipboard context: {e}"); - Box::new( - // infailible + let clipboard = Box::new( + // infallible copypasta::nop_clipboard::NopClipboardContext::new() .unwrap(), - ) - }); + ); + let clipboard: Box<dyn copypasta::ClipboardProvider> = + clipboard; + clipboard + }, + |clipboard| { + let clipboard = Box::new(clipboard); + let clipboard: Box<dyn copypasta::ClipboardProvider> = + clipboard; + clipboard + }, + ); Ok(Self { timer_r, sync_timer_r, |