patch: re apply time limited api in common clipboard
when no content in text clipboard, it will wait forever Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
This commit is contained in:
parent
0b82874a52
commit
fd1dc15576
@ -16,8 +16,6 @@ use super::{encode_path_to_uri, parse_plain_uri_list, SysClipboard};
|
|||||||
|
|
||||||
static X11_CLIPBOARD: OnceCell<Clipboard> = OnceCell::new();
|
static X11_CLIPBOARD: OnceCell<Clipboard> = OnceCell::new();
|
||||||
|
|
||||||
const X11_CLIPBOARD_TIMEOUT: std::time::Duration = std::time::Duration::from_millis(130);
|
|
||||||
|
|
||||||
fn get_clip() -> Result<&'static Clipboard, CliprdrError> {
|
fn get_clip() -> Result<&'static Clipboard, CliprdrError> {
|
||||||
X11_CLIPBOARD.get_or_try_init(|| Clipboard::new().map_err(|_| CliprdrError::CliprdrInit))
|
X11_CLIPBOARD.get_or_try_init(|| Clipboard::new().map_err(|_| CliprdrError::CliprdrInit))
|
||||||
}
|
}
|
||||||
@ -63,7 +61,7 @@ impl X11Clipboard {
|
|||||||
// NOTE:
|
// NOTE:
|
||||||
// # why not use `load_wait`
|
// # why not use `load_wait`
|
||||||
// load_wait is likely to wait forever, which is not what we want
|
// load_wait is likely to wait forever, which is not what we want
|
||||||
let res = get_clip()?.load(clip, target, prop, X11_CLIPBOARD_TIMEOUT);
|
let res = get_clip()?.load_wait(clip, target, prop);
|
||||||
match res {
|
match res {
|
||||||
Ok(res) => Ok(res),
|
Ok(res) => Ok(res),
|
||||||
Err(x11_clipboard::error::Error::UnexpectedType(_)) => Ok(vec![]),
|
Err(x11_clipboard::error::Error::UnexpectedType(_)) => Ok(vec![]),
|
||||||
|
@ -87,7 +87,7 @@ impl ClipboardContext {
|
|||||||
let clip = self.clip;
|
let clip = self.clip;
|
||||||
let prop = self.prop;
|
let prop = self.prop;
|
||||||
|
|
||||||
const TIMEOUT: std::time::Duration = std::time::Duration::from_millis(100);
|
const TIMEOUT: std::time::Duration = std::time::Duration::from_millis(120);
|
||||||
|
|
||||||
let text_content = get_clipboard()?
|
let text_content = get_clipboard()?
|
||||||
.load(clip, self.string_getter, prop, TIMEOUT)
|
.load(clip, self.string_getter, prop, TIMEOUT)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user