This Rust crate implements a IPC TCP client for tev. It enables programmatic control of the images displayed by tev using a convenient and safe Rust api.
Supports all existing tev commands:
- PacketOpenImage open an existing image given the path
- PacketReloadImage reload an image from disk
- PacketCloseImage close an opened image
- PacketCreateImage create a new black image with given size and channels
- PacketUpdateImage update part of the pixels of an opened image
use tev_client::{TevClient, TevError, PacketCreateImage};
fn main() -> Result<(), TevError> {
// Spawn a tev instance, this command assumes tev is on the PATH.
// There are other constructors available too, see TevClient::spawn and TevClient::wrap.
let mut client = TevClient::spawn_path_default()?;
// Create a new image
client.send(PacketCreateImage {
image_name: "test",
grab_focus: false,
width: 1920,
height: 1080,
channel_names: &["R", "G", "B"],
})?;
Ok(())
}