hyprshell-core-lib 4.9.5

A modern GTK4-based window switcher and application launcher for Hyprland
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::transfer::TransferType;
use anyhow::Context;
use tracing::debug;

pub fn receive_from_buffer(mut buffer: Vec<u8>) -> anyhow::Result<TransferType> {
    if buffer.last() == Some(&0) {
        let _ = buffer.pop();
    }
    let str =
        str::from_utf8(&buffer).with_context(|| format!("Failed to convert buffer: {buffer:?}"))?;
    let transfer: TransferType =
        serde_json::from_str(str).with_context(|| format!("Failed to deserialize str: {str:?}"))?;
    debug!("Received command: {transfer:?}");
    Ok(transfer)
}