26 个版本
0.33.1 | 2024年4月7日 |
---|---|
0.33.0 | 2024年2月19日 |
0.32.3 | 2023年11月27日 |
0.31.9 | 2023年7月31日 |
0.20.7 | 2021年11月30日 |
#112 in 开发工具
685KB
15K SLoC
i3status-rs
i3status-rs
是一个由 Rust 编写的丰富功能和资源友好的 i3status 替代品。它提供了一种在支持 i3bar 协议 的条形上显示系统信息“块”(时间、电池状态、音量等)的方法。
入门
从以下包之一安装
-
对于 Fedora/CentOS,您可以从 COPR 安装。
-
对于 NixOS,您也可以使用 Home Manager:
programs.i3status-rust.enable = true
查看可用选项 -
注意: 不支持通过
cargo
安装。
否则请参阅 手动安装 文档。
配置
安装 i3status-rs
后,编辑您喜欢的 示例配置。默认位置为 $XDG_CONFIG_HOME/i3status-rust/config.toml
。
存在一些可选的全局配置变量,可以在顶层或TOML 表中定义。
[icons]
表
键 | 描述 | 默认值 |
---|---|---|
icons |
应使用的图标集。 | "none" |
[icons.icons_overrides] |
请参阅下方的主题和图标 。 |
无 |
[theme]
表
键 | 描述 | 默认值 |
---|---|---|
theme |
应使用的主题。 | "plain" |
[theme.theme_overrides] |
请参阅下方的主题和图标 。 |
无 |
全局变量
键 | 描述 | 默认值 |
---|---|---|
icons_format |
用于自定义每个图标外观的字符串。可用于编辑图标的间距或指定仅通过 pango 标记应用于图标的字体。例如," <span font_family='NotoSans Nerd Font'>{icon}</span> " 。 |
"{icon}" |
invert_scrolling |
是否反转滚动方向,对触摸板用户很有用。 | false |
error_format |
用于自定义显示块错误的字符串。请参阅下方的可用占位符。 | "$short_error_message|X" |
error_fullscreen_format |
用于自定义单击块时显示的块错误的字符串。请参阅下方的可用占位符。 | "$full_error_message" |
可用的 error_format
和 error_fullscreen_format
占位符
占位符 | 值 |
---|---|
full_error_message | 完整的错误消息 |
short_error_message | 短错误消息(如有) |
进一步文档
最新版本
主
将其集成到 i3/sway 中
接下来,编辑您的栏配置以使用 i3status-rust
。例如
bar {
font pango:DejaVu Sans Mono, FontAwesome 12
position top
status_command path/to/i3status-rs path/to/your/config.toml
colors {
separator #666666
background #222222
statusline #dddddd
focused_workspace #0088CC #0088CC #ffffff
active_workspace #333333 #333333 #ffffff
inactive_workspace #333333 #333333 #888888
urgent_workspace #2f343a #900000 #ffffff
}
}
为了使用内置的 Font Awesome 图标集支持,您需要将其包含在上述 font
参数中。请使用 fc-match
检查 "FontAwesome" 是否可以正确识别字体,例如。
$ fc-match FontAwesome
fontawesome-webfont.ttf: "FontAwesome" "Regular"
请注意,Font Awesome 字体的名称可能在版本 5 或更高版本中已更改。
您可以使用 fc-list
查看您可用的 Awesome 字体的名称。
$ fc-list | grep -i awesome
/usr/share/fonts/TTF/fa-solid-900.ttf: Font Awesome 5 Free,Font Awesome 5 Free Solid:style=Solid
/usr/share/fonts/TTF/fa-regular-400.ttf: Font Awesome 5 Free,Font Awesome 5 Free Regular:style=Regular
在此示例中,您必须使用 Font Awesome 5 Free
而不是上面示例配置中的 FontAwesome 12
。您可以使用 fc-match
再次验证名称
有关进一步讨论,请参阅 #130。
最后,重新加载 i3: i3 reload
。
行为
每个块都有一个 State
,它定义了其颜色:一个是 "空闲"、"信息"、"良好"、"警告"、"严重" 或 "错误"。状态由每个块的逻辑确定,例如,音乐块状态为 "信息",当存在活动播放器时。
当状态为 "错误" 时,会在块中显示简短的错误。通过单击块可以切换完整消息(覆盖配置中定义的任何单击操作)。在 error_interval
过期后,块将重新启动。
“i3bar”具有“节能”功能,当它被隐藏或被全屏容器遮挡时,会通过SIGSTOP信号暂停条形。如果这导致您的条形出现问题,请尝试使用带有--never-stop
参数的i3status-rs运行,这会将i3发送的信号从SIGSTOP更改为SIGCONT。
除了每个块上的signal
配置选项之外,i3status-rs还可以通过发送SIGUSR1信号来强制更新所有块。它还可以通过发送SIGUSR2信号就地重新启动(用于测试配置文件更改,非常有用)。
调试
在终端中运行i3status-rust
以检查它输出的JSON。
此外,一些块具有可以启用调试日志,如下所示:RUST_LOG=block=debug i3status-rs
其中“block”是块名称。
贡献
我们欢迎新的贡献者!请查看CONTRIBUTING.md。
许可
此项目使用GPLv3许可。有关详细信息,请参阅LICENSE文件。
依赖项
~26–43MB
~694K SLoC