aboutsummaryrefslogtreecommitdiff
path: root/src/client/clipboard_forwarding.rs
blob: 2de5f49f5ba6cef92ce323be5881befbf0ba52f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use super::*;

pub(super) fn decode_clipboard_payload(data: &str) -> Option<Vec<u8>> {
    use base64::Engine;

    base64::engine::general_purpose::STANDARD.decode(data).ok()
}

pub(super) fn forward_clipboard(data: &str) -> bool {
    let Some(bytes) = decode_clipboard_payload(data) else {
        warn!("received invalid clipboard payload from server");
        return false;
    };
    crate::selection::write_osc52_bytes(&bytes);
    true
}