hyprshell_core_lib/transfer/
send.rs

1use crate::get_daemon_socket_path_buff;
2use anyhow::Context;
3use std::io::Write;
4use std::os::unix::net::UnixStream;
5use tracing::{debug, trace};
6
7pub fn send_raw_to_socket(data: &str) -> anyhow::Result<()> {
8    let path = get_daemon_socket_path_buff();
9    debug!("Sending data to socket: {}", data);
10    trace!("Socket path: {:?}", path);
11    let mut socket = UnixStream::connect(&path)
12        .with_context(|| format!("Can't connect to daemon socket {path:?}"))?;
13    trace!("Socket connected, sending data");
14    socket
15        .write_all(data.as_bytes())
16        .context("Can't send data to socket")?;
17    trace!("Data sent, closing socket");
18    Ok(())
19}