[Fix] copy not working on Linux (#117)

This commit is contained in:
The Mist 2024-07-08 04:59:35 -04:00 committed by GitHub
parent daa3d1e8f5
commit 06bba0f747
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,11 +1,12 @@
use std::cmp::max;
use crate::{
code::{calc_max_line_number_length, calc_wh},
config::TakeSnapshotParams,
};
use arboard::Clipboard;
#[cfg(target_os = "linux")]
use arboard::SetExtLinux;
use nvim_oxi::Result;
use std::cmp::max;
const SPACE_BOTH_SIDE: usize = 2;
@ -59,6 +60,17 @@ pub fn copy_ascii(params: TakeSnapshotParams) -> Result<()> {
);
let ascii_snapshot = format!("{top_frame}{breadcrumbs}{code}{bottom_frame}");
#[cfg(target_os = "linux")]
std::thread::spawn(move || {
Clipboard::new()
.unwrap()
.set()
.wait()
.text(ascii_snapshot)
.unwrap();
});
#[cfg(not(target_os = "linux"))]
Clipboard::new().unwrap().set_text(ascii_snapshot).unwrap();
Ok(())