Rocketfetch
A *WIP* (非常欢迎贡献) 使用 Rust 编写并使用 TOML 文件配置以实现高性能的系统信息命令行工具。
目录
灵感
Rocketfetch 受 neofetch 启发。我想在 neofetch 中添加一些性能,同时改进配置。我的配置模仿了 Starship。
安装
cargo install rocketfetch
如果安装失败,请确保您已安装最新的 Rust 版本。
brew install devanlooches/rocketfetch/rocketfetch
命令行
rocketfetch 0.6.9
A WIP command line system information tool (neofetch) rewritten in rust for performance with toml file configuration.
USAGE:
rocketfetch [FLAGS] [OPTIONS]
FLAGS:
-h, --help Prints help information
--no-line-wrap Disables Line Wrapping
-V, --version Prints version information
OPTIONS:
-c, --config <FILE> Sets custom configuration file.
-m, --mode <mode> Set the printing mode. Can be one of `side-block`, `bottom-block`, or `classic`
配置
您可以通过默认路径 ~/.config/rocketfetch 或通过在 CLI 中指定 -c 选项来配置 rocketfetch。
顶层
值 |
默认值 |
描述 |
module-order |
"用户 分隔符 os 主机 内核 运行时间 软件包" |
指定模块将按空格分隔的顺序排列。可能的模块有:用户、分隔符、操作系统、主机、内核、运行时间和软件包,以及您定义的任何自定义模块。您可以多次指定一些模块。更多内容即将推出! |
offset |
4 |
指定标志和信息的间距数量。 |
wrap-lines |
true |
是否包装输出行。 |
logo-cmd |
"auto" |
获取logo的命令。如果设置为auto或空,将自动检测操作系统并选择相应的logo。(目前仅支持macos和Arch Linux。) |
值 |
默认值 |
描述 |
mode |
"classic" |
设置输出模式。可以是classic(neofetch风格)、side-block(带信息块)或bottom-block(带信息块的logo)。 |
top-left-corner-char |
"╭" |
设置用作块左上角的字符(仅在bottom-block模式下有效)。 |
top-right-corner-char |
"╮" |
设置用作块右上角的字符(仅在side-block和bottom-block模式下有效)。 |
bottom-left-corner-char |
"╰" |
设置用作块左下角的字符(仅在side-block和bottom-block模式下有效)。 |
bottom-right-corner-char |
"╯" |
设置用作块右下角的字符(仅在side-block和bottom-block模式下有效)。 |
horizontal-char |
"─" |
设置用作块顶部和底部的字符(仅在side-block和bottom-block模式下有效)。 |
vertical-char |
"│" |
设置用作块右侧和左侧的字符(仅在side-block和bottom-block模式下有效)。 |
padding-left |
1 |
设置在块内每个模块之前放置空格的数量(仅在side-block和bottom-block模式下有效)。 |
padding-right |
1 |
设置在块内每个模块之后放置空格的数量(仅在side-block和bottom-block模式下有效)。 |
padding-top |
0 |
设置在块内模块上方放置行数的数量(仅在side-block和bottom-block模式下有效)。 |
值 |
默认值 |
描述 |
pre-text-style |
"bold.yellow" |
一个格式字符串,每个单词由点分隔,描述此模块之前文本的样式 |
pre-text |
"" |
此模块之前的文本 |
output-style |
"white" |
一个格式字符串,每个单词由点分隔,描述文本的样式 |
separator-style |
"white" |
一个格式字符串,每个单词由点分隔,描述用户名和主机名之间的样式 |
separator-char |
"@" |
分隔用户名和主机名的字符 |
值 |
默认值 |
描述 |
style |
"white" |
一个格式字符串,每个单词由点分隔,描述分隔符的样式 |
repeat-num |
0 |
重复分隔符字符以形成分隔符的次数。如果设置为0,则重复次数与上述模块的长度相同 |
char |
"-" |
用作分隔符的字符 |
值 |
默认值 |
描述 |
pre-text-style |
"bold.yellow" |
一个格式字符串,每个单词由点分隔,描述此模块之前文本的样式 |
pre-text |
"OS: " |
此模块之前的文本 |
output-style |
"white" |
一个格式字符串,每个单词由点分隔,描述文本的样式 |
值 |
默认值 |
描述 |
pre-text-style |
"bold.yellow" |
一个格式字符串,每个单词由点分隔,描述此模块之前文本的样式 |
pre-text |
"Host: " |
此模块之前的文本 |
output-style |
"white" |
一个格式字符串,每个单词由点分隔,描述输出文本的样式 |
值 |
默认值 |
描述 |
pre-text-style |
"bold.yellow" |
一个格式字符串,每个单词由点分隔,描述此模块之前文本的样式 |
pre-text |
"Kernel: " |
此模块之前的文本 |
output-style |
"white" |
一个格式字符串,每个单词由点分隔,描述输出文本的样式 |
值 |
默认值 |
描述 |
pre-text-style |
"bold.yellow" |
一个格式字符串,每个单词由点分隔,描述此模块之前文本的样式 |
pre-text |
"Uptime: " |
此模块之前的文本 |
output-style |
"white" |
一个格式字符串,每个单词由点分隔,描述输出文本的样式 |
time-format |
"$days days, $hours hours, $minutes minutes" |
一个描述时间格式的字符串。变量有:$years,$days,$hours,$minutes,$seconds。 |
值 |
默认值 |
描述 |
pre-text-style |
"bold.yellow" |
一个格式字符串,每个单词由点分隔,描述此模块之前文本的样式 |
pre-text |
"Packages: " |
此模块之前的文本 |
output-style |
"white" |
一个格式字符串,每个单词由点分隔,描述输出文本的样式 |
值 |
默认值 |
描述 |
pre-text-style |
"bold.yellow" |
一个格式字符串,每个单词由点分隔,描述此模块之前文本的样式 |
pre-text |
"Shell: " |
此模块之前的文本 |
output-style |
"white" |
一个格式字符串,每个单词由点分隔,描述输出文本的样式 |
值 |
默认值 |
描述 |
pre-text-style |
"bold.yellow" |
一个格式字符串,每个单词由点分隔,描述此模块之前文本的样式 |
pre-text |
"Resolution: " |
此模块之前的文本 |
output-style |
"white" |
一个格式字符串,每个单词由点分隔,描述输出文本的样式 |
值 |
默认值 |
描述 |
pre-text-style |
"bold.yellow" |
一个格式字符串,每个单词由点分隔,描述此模块之前文本的样式 |
pre-text |
"Desktop Environment: " |
此模块之前的文本 |
output-style |
"white" |
一个格式字符串,每个单词由点分隔,描述输出文本的样式 |
值 |
默认值 |
描述 |
pre-text-style |
"bold.yellow" |
一个格式字符串,每个单词由点分隔,描述此模块之前文本的样式 |
pre-text |
"Window Manager: " |
此模块之前的文本 |
output-style |
"white" |
一个格式字符串,每个单词由点分隔,描述输出文本的样式 |
值 |
默认值 |
描述 |
pre-text-style |
"bold.yellow" |
一个格式字符串,每个单词由点分隔,描述此模块之前文本的样式 |
pre-text |
"Terminal: " |
此模块之前的文本 |
output-style |
"white" |
一个格式字符串,每个单词由点分隔,描述输出文本的样式 |
值 |
描述 |
pre-text-style |
一个用点分隔每个词的格式字符串,用于描述此模块之前的文本样式 |
pre-text |
此模块之前的文本 |
output-style |
一个格式字符串,每个单词由点分隔,描述输出文本的样式 |
命令 |
运行以获取模块输出的命令 |
默认配置
默认配置将如下所示
module-order = "user delimiter os host kernel uptime packages shell resolution desktop-environment window-manager terminal cpu"
offset = 4
logo-cmd = "auto"
wrap-lines = true
[format]
mode = "classic"
top-left-corner-char = "╭"
top-right-corner-char = "╮"
bottom-left-corner-char = "╰"
bottom-right-corner-char = "╯"
horizontal-char = "─"
vertical-char = "│"
padding-left = 1
padding-right = 1
padding-top = 0
[user]
pre-text-style = "bold.yellow"
pre-text = ""
output-style = "bold.yellow"
separator-style = "white"
separator-char = "@"
[delimiter]
style = "white"
repeat-num = 0
char = "-"
[os]
pre-text-style = "bold.yellow"
pre-text = "OS: "
output-style = "white"
[host]
pre-text-style = "bold.yellow"
pre-text = "Host: "
output-style = "white"
[kernel]
pre-text-style = "bold.yellow"
pre-text = "Kernel: "
output-style = "white"
[uptime]
pre-text-style = "bold.yellow"
pre-text = "Uptime: "
output-style = "white"
time-format = "$days days, $hours hours, $minutes minutes"
[packages]
pre-text-style = "bold.yellow"
pre-text = "Packages: "
output-style = "white"
[shell]
pre-text-style = "bold.yellow"
pre-text = "Shell: "
output-style = "white"
[resolution]
pre-text-style = "bold.yellow"
pre-text = "Resolution: "
output-style = "white"
[desktop-environment]
pre-text-style = "bold.yellow"
pre-text = "Desktop Environment: "
output-style = "white"
[window-manager]
pre-text-style = "bold.yellow"
pre-text = "Window Manager: "
output-style = "white"
[terminal]
pre-text-style = "bold.yellow"
pre-text = "Terminal: "
output-style = "white"
[cpu]
pre-text-style = "bold.yellow"
pre-text = "CPU: "
output-style = "white"
待办事项