8个版本 (4个重大更改)
0.6.2 | 2021年12月21日 |
---|---|
0.6.1 | 2021年12月9日 |
0.5.0 | 2021年10月21日 |
0.4.0 | 2021年9月17日 |
0.2.2 | 2021年9月13日 |
#880 在 GUI
每月50次下载
32KB
758 行
abar - 异步条!
abar是一个用于生成动态"blocks"-风格状态字符串的工具。
当使用简约式状态条时,你通常需要定义多个模块,然后将它们组合起来。例如,你的条可能看起来像这样
>>> VOLUME | BATTERY | CURRENT_TIME <<<
然而,这可能会带来性能损失,因为通常你需要一次性更新所有内容。每次你想刷新电池时,你也必须刷新音量等。这看起来可能没问题,但如果你需要依赖于某些缓慢的操作(例如HTTP请求),你的整个条将变得非常缓慢。abar通过为每个模块提供自己的唯一更新周期,并由一个小型线程池监控,来解决此问题。
与其他blocks-style实现有何不同?
abar从你可能在suckless.org看到的工具中汲取灵感,它设计得可修改。没有配置文件,而是通过直接修改源代码来修改你的条。
dwmblocks是一个具有类似目标的项目。它相当不错,但abar在几个方面有所不同
-
abar可以作为库和二进制文件提供。这意味着你可以修改此存储库的分支,或者使用在crates.io上提供的接口创建全新的项目。
-
通常,dwmblocks更侧重于与shell脚本的集成,而abar更侧重于通过直接访问源代码提供的可定制性。你仍然可以使用bash,但这里的主要目标不是bash。由于它是用Rust编写的,因此您还可以访问
cargo
包管理器,这使得新用户可以相对容易地完成一些非常高级的任务。 -
更注重远程交互。在dwmblocks中,您使用SIGKILL刷新块,而在abar中,您可以通过命令行通过TCP发送任意命令。
安装
从源目录运行cargo install --path .
将安装二进制文件,同时自动拉取你在./Cargo.toml
中定义的任何依赖项。
使用
主要的“配置”操作发生在 ./src/config.rs
,其中包含一些示例,帮助您了解基础知识。但在此建议您“深入了解内部”,找到一些可以修改的地方。
更详细的信息可以在文档中找到。
依赖项
~445KB