17 个版本
0.1.16 | 2024 年 6 月 13 日 |
---|---|
0.1.15 | 2023 年 12 月 6 日 |
0.1.14 | 2023 年 7 月 13 日 |
0.1.13 | 2023 年 6 月 5 日 |
0.1.4 | 2022 年 8 月 23 日 |
#57 in GUI
56KB
1.5K SLoC
swaybar_info
关于
swaybar_info 是一个供 swaybar 使用的程序,它由 Sway 瓦片化 Wayland 合成器 使用。
版本变更
帮助文本
Usage:
-h | --help Prints help
--netdev=<device_name> Check network traffic on specified device
--netdev_width=<width> Sets the min-width of the netdev output (default 11)
--netgraph_max_bytes=<bytes> Enable "graph" output when polling network traffic
(Set to "dynamic" instead of a byte count for dynamic sizing)
--netgraph_size=<size> Set the number of characters displayed in the net-graph (size of graph; default 10)
--netgraph_dyn_display Enable showing the current maximum value in the graph
--interval-sec=<seconds> Output at intervals of <seconds> (default 5)
--acpi-builtin Use "acpi -b" built-in fetching (battery info, with color)
--regex-cmd=<cmd>[SPLIT]<args...>[SPLIT]<regex> Use an output of a command as a metric
--time-format=<date format string> Set the format string for the date
用法
# build the "release" build of the program
cargo build --release
# put the "release" build somewhere to be used by swaybar
cp ./target/release/swaybar_info ~/.config/sway/
# Alternatively, get it from crates.io/
cargo install swaybar_info
# The `swaybar_info` binary should be placed in $HOME/.cargo/bin/
将以下内容放入您的 ~/.config/sway/config
中(假设二进制文件位于 $HOME/.config/sway/swaybar_info
)
bar {
position top
# Set --netdev=<device> such that <device> is the network device you
# want to monitor. You can omit --netdev=<device>, but that will also
# cause the program to omit network traffic stats.
status_command $HOME/.config/sway/swaybar_info --netdev=enp7s0
# A "built-in" for "acpi -b" is available, and can be activated with the
# --acpi-builtin flag:
#status_command $HOME/.config/sway/swaybar_info --acpi-builtin
# One can use the "--regex-cmd=<cmd>[SPLIT]<args...>[SPLIT]<regex>" option like so:
#status_command $HOME/.config/sway/swaybar_info --regex-cmd="acpi[SPLIT]-b[SPLIT][0-9]+%.*"
# This example gets battery info into the bar.
# Multiple args should be separated with "[SPLIT]".
# Note that the <args...> portion is optional.
# The following uses 24 hour time
#status_command $HOME/.config/sway/swaybar_info --time-format="%Y-%m-%d %R:%S"
}
--regex-cmd
的高级用法
如果提供给 swaybar_info
的正则表达式有两个捕获组,则第一个捕获组将用作要显示的文本,第二个捕获组将期望为颜色字符串(例如,FFFFFFFFFF 为白色,44FF44 为浅绿色)。
例如,如果使用 --regex-cmd
调用的脚本输出如下
MPD Title | MPD Album | playingCOLORSPLIT44FF44
有时会变成
MPD is not running
然后可以使用以下正则表达式解析此文本
status_command $HOME/.config/sway/swaybar_info \
'--regex-cmd=$HOME/scripts/mpc/mpcCommand.sh[SPLIT]simple[SPLIT]^\(.\*?\)\(?:COLORSPLIT\([A-F0-9]{6}\)\)?$'
请注意,某些字符(如 *
或 (
)需要转义,因为它们将被原样传递给 shell。
如果正则表达式字符串中只使用一个捕获组,则该捕获组将用于输出文本,颜色将不指定(通常默认为白色)。
有关支持的正则表达式类型的参考,请参阅 此页面。
网络图
参数--netgraph_max_bytes=<bytes>
启用一个宽度为10个字符的文本图,显示网络流量的历史记录。算法检查一个时间段内发送或接收的字节数中的较大值,并将其与<bytes>
进行比较。如果它更大,则图中的字符将是一个“实心块”字符。如果它更小,则图中的字符将是9个可能字符中的任意一个(一个空格和8个unicode块字符)。因此,这将输出网络流量的历史图。对于<bytes>
的合理值可以是1048576,即1 MiB。
指定“dynamic”而不是字节数(例如--netgraph_max_bytes=dynamic
)可以使图表根据一个时间段内传输的最大字节数动态调整大小。
当使用动态netgraph时,swaybar_info可以显示netgraph中的最大值。使用--netgraph_dyn_display
选项启用此功能。(这仅在启用动态netgraph时--netgraph_max_bytes=dynamic
)。
netgraph的大小默认为10个字符,但可以使用--netgraph_size=<size>
进行更改。
依赖项
依赖项
~4–6MB
~107K SLoC