tmux_interface

Build Status Crates.io Documentation

Description

tmux_interface is a library for communication with TMUX via CLI written in Rust programming language. The crate documentation can be found on the docs.rs page.

Usage

  1. Add a dependency in your Cargo.toml. Versions below 1.0.0 are mostly for development and testing purposes (use them in your projects on your own risk, further versions may have different API).

    text [dependencies] tmux_interface = "1.0.0"

  2. Add extern crate in your source file. extern crate tmux_interface;

  3. Use it's functions

    ### Example 1 ``` use tmux_interface::{HasSession, KillSession, NewSession, NewWindow, SplitWindow, Tmux};

    let targetsession = "example1";

    // tmux new -d -s example1 ; neww ; splitw -v Tmux::new() .addcommand(NewSession::new().detached().sessionname(targetsession)) .addcommand(NewWindow::new()) .addcommand(SplitWindow::new().vertical()) .output() .unwrap();

    // tmux has -t example1 let status = Tmux::withcommand(HasSession::new().targetsession(targetsession)) .status() .unwrap() .success();

    assert!(status);

    // tmux kill-session -t example1 Tmux::withcommand(KillSession::new().targetsession(targetsession)) .output() .unwrap();

    ```

Testing

The library is still in experimental development stage (unstable). - many features are unimplemented or not well tested - some APIs/structures/names/... can be changed in the future - some design patterns of the library can be changed - almost all library documentation is missing at the moment - ...

The library was tested using GitHub Actions under following conditions:

Contributors

License

tmux_interface library is licensed under the MIT license. Please read the license file in the repository for more information.

See also