5 个不稳定版本
0.16.1 | 2024 年 7 月 11 日 |
---|---|
0.16.0 | 2024 年 7 月 11 日 |
0.15.4 | 2024 年 7 月 10 日 |
0.15.3 | 2024 年 7 月 1 日 |
0.0.1 | 2017 年 10 月 7 日 |
#354 在 命令行工具
252 每月下载量
165KB
2K SLoC
barista
pista 更强大的继任者。
适用于与 dwm 一起使用,但也可以应用于任何具有文本状态区域的其他事物(如 tmux)。
运行 N 个 shell 命令(在配置文件中指定),异步读取它们并路由到条上的 N 个相应插槽
b +--------------+--------------+- ... ---+-------------+
a | slot_1 | slot_2 | | slot_N |
r +--------------+--------------+- ... ---+-------------+
^ ^ ^
| | |
+-+ +-+ +-+
| | | | | |
|S| |S| |S|
|T| |T| |T|
|D| |D| |D|
|O| |O| |O|
|U| |U| |U|
|T| |T| |T|
| | | | | |
|1| |2| |N|
| | | | | |
+-+ +-+ +-+
^ ^ ^
| | |
command_1 command_2 ... command_N
| | |
v v v
+-+ +-+ +-+
| | | | | |
|S| |S| |S|
|T| |T| |T|
|D| |D| |D|
|E| |E| |E|
|R| |R| |R|
|R| |R| |R|
| | | | | |
|1| |2| |N|
| | | | | |
+-+ +-+ +-+
| | |
v v v
l +--------+ +--------+ ... +--------+
o | file_1 | | file_2 | | file_N |
g +--------+ +--------+ ... +--------+
每个插槽都有一个 TTL,在此之后,如果没有更新,则清除该插槽 - 帮助您发现损坏的命令,并避免使用过时的数据欺骗自己。
每个命令的 stderr
被重定向到 ~/.barista/feeds/$i-$name/log
。
安装
cargo安装 barista
- 确保
~/.cargo/bin/
在您的PATH
中 barista help
使用
初始
- 在终端 A 中,运行
barista server
,它将创建~/.barista/
目录并初始化默认配置 - 在终端 B 中,编辑配置文件以符合您的喜好:
~/.barista/conf.toml
- 在终端 B 中,运行
barista reload
- 有关更多功能,请参阅
barista help
正常
通常您会从 ~/.xinitrc
(或类似)中运行 barista server &
。这将运行您在配置中指定的命令,并按配置中指定的间隔设置条。
当 barista 服务器正在运行时,您可以从任何其他终端请求更改和状态(它们通过 Unix 域套接字通信:~/.barista/socket
)
- 使用
barista reload
在运行时更改配置后重新加载配置 - 使用
barista status
来查看每个命令的状态(最后更新等) - 使用
barista off
来停止命令并清除条 barista on
用于启动命令并开始更新酒吧
示例
状态
Yo Dawg,我们听说你喜欢状态,所以你现在可以检查你的状态^1
$ barista status
POSITION NAME DIR LAST_OUTPUTTED LAST_LOGGED LOG_SIZE LOG_LINES PID PROC_STATE PROC_DESCENDANTS
1 upower /home/xand/.barista/feeds/00-upower 7s 3h 48m 35s 565.3 KB 6880 17424 S 17451:Z,17452:S
2 eth /home/xand/.barista/feeds/01-eth 0s 8days 18h 37m 30s 4.1 MB 39819 17425 S -
3 wifi /home/xand/.barista/feeds/02-wifi 0s 8days 18h 37m 30s 4.1 MB 40508 17426 S -
4 bluetooth /home/xand/.barista/feeds/03-bluetooth 0s 8days 18h 37m 30s 4.1 MB 39537 17427 S -
5 memory /home/xand/.barista/feeds/04-memory 0s 8days 18h 37m 30s 8.2 MB 78508 17428 S -
6 disk /home/xand/.barista/feeds/05-disk 3s 8days 18h 37m 30s 1.7 MB 16210 17429 S -
7 backlight /home/xand/.barista/feeds/06-backlight 4days 23h 20m 21s 8days 18h 37m 30s 39.0 KB 608 17430 S -
8 pulseaudio /home/xand/.barista/feeds/07-pulseaudio 9m 16s 8days 18h 37m 30s 185.9 KB 2114 17431 S 17461:S
9 mpd /home/xand/.barista/feeds/08-mpd 0s 8days 18h 37m 30s 7.9 MB 76463 17432 S -
10 weather /home/xand/.barista/feeds/09-weather 15m 30s 35m 30s 185.5 KB 3146 17433 S -
11 time /home/xand/.barista/feeds/10-time 0s 8days 18h 37m 30s 10.6 MB 78515 17434 S -
12 keymap /home/xand/.barista/feeds/11-keymap 0s 8days 18h 37m 30s 8.2 MB 78491 17436 S -
脚注
依赖关系
~19–28MB
~397K SLoC