#tmux #interface #cli-interface

tmux_interface

Rust编程语言库,用于通过CLI与TMUX通信

13个版本

0.3.2 2024年3月4日
0.3.1 2023年7月16日
0.3.0 2023年5月31日
0.2.1 2021年8月7日
0.0.5 2019年7月23日

#46 in 命令行界面

Download history 235/week @ 2024-04-22 297/week @ 2024-04-29 240/week @ 2024-05-06 220/week @ 2024-05-13 305/week @ 2024-05-20 330/week @ 2024-05-27 251/week @ 2024-06-03 160/week @ 2024-06-10 145/week @ 2024-06-17 236/week @ 2024-06-24 212/week @ 2024-07-01 145/week @ 2024-07-08 259/week @ 2024-07-15 184/week @ 2024-07-22 276/week @ 2024-07-29 221/week @ 2024-08-05

949 每月下载次数
11 crates 中使用

MIT 协议

3MB
55K SLoC

tmux_interface

Build Status Crates.io Documentation

描述

tmux_interface 是一个用 Rust 编程语言编写的库,用于通过CLI与 TMUX 通信。该库的文档可以在 docs.rs 页面上找到。

使用方法

  1. 在您的 Cargo.toml 中添加依赖项。低于 1.0.0 的版本主要用于开发和测试目的(在项目中使用它们存在风险,后续版本可能具有不同的API)。

    [dependencies]
    tmux_interface = "1.0.0"
    
  2. 在源文件中添加 extern crate。

    extern crate tmux_interface;
    
  3. 使用其函数

    示例 1

    use tmux_interface::{HasSession, KillSession, NewSession, NewWindow, SplitWindow, Tmux};
    
    let target_session = "example_1";
    
    // tmux new -d -s example_1 ; neww ; splitw -v
    Tmux::new()
        .add_command(NewSession::new().detached().session_name(target_session))
        .add_command(NewWindow::new())
        .add_command(SplitWindow::new().vertical())
        .output()
        .unwrap();
    
    // tmux has -t example_1
    let status = Tmux::with_command(HasSession::new().target_session(target_session))
        .status()
        .unwrap()
        .success();
    
    assert!(status);
    
    // tmux kill-session -t example_1
    Tmux::with_command(KillSession::new().target_session(target_session))
        .output()
        .unwrap();
    
    

测试

该库仍在实验性开发阶段(不稳定)。

  • 许多功能尚未实现或测试不佳
  • 一些API/结构/名称/... 可能在未来更改
  • 该库的一些设计模式可能在未来更改
  • 目前几乎所有库文档都缺失
  • ...

该库在以下条件下使用 GitHub Actions 进行了测试

  • 操作系统

    • Linux (Ubuntu 20.04.2 LTS Focal Fossa, x64)
    • Windows
    • MacOS (10.13.6 High Sierra, x64)
  • Rust

    • 稳定版
    • beta版
    • nightly版
  • Tmux (覆盖了tmux版本和crates功能)

    • master - tmux_X_X
    • 3.3a - tmux_3_3a
    • 3.3 - tmux_3_3
    • 3.2a - tmux_3_2a
    • 3.2 - tmux_3_2
    • 3.1c - tmux_3_1c
    • 3.1b - tmux_3_1b
    • 3.1a - tmux_3_1a
    • 3.1 - tmux_3_1
    • 3.0a - tmux_3_0a
    • 3.0 - tmux_3_0
    • 2.9a - tmux_2_9a
    • 2.9 - tmux_2_9
    • 2.8 - tmux_2_8
    • 2.7 - tmux_2_7
    • 2.6 - tmux_2_6
    • 2.5 - tmux_2_5
    • 2.4 - tmux_2_4
    • 2.3 - tmux_2_3
    • 2.2 - tmux_2_2
    • 2.1 - tmux_2_1
    • 2.0 - tmux_2_0
    • 1.9a - tmux_1_9a
    • 1.9 - tmux_1_9
    • 1.8 - tmux_1_8
    • 1.7 - tmux_1_7
    • 1.6 - tmux_1_6
    • 1.5 - tmux_1_5
    • 1.4 - tmux_1_4 - tmux 编译错误
    • 1.3 - tmux_1_3 - tmux 编译错误
    • 1.2 - tmux_1_2 - tmux 编译错误
    • 1.1 - tmux_1_1 - tmux 编译错误
    • 1.0 - tmux_1_0 - tmux 编译错误
    • 0.9 - tmux_0_9 - tmux 编译错误
    • 0.8 - tmux_0_8 - tmux 编译错误

贡献者

许可证

tmux_interface 库采用 MIT 许可证。请阅读存储库中的 许可证文件 以获取更多信息。

另请参阅

无运行时依赖

特性