仿 neofetch 的终端系统信息工具:zazaki 方块大字 + 真实图片 + 分组系统信息 + 每日轮换的外国文学名句。
- zazaki 大字:纯字符方块拼成的 logo,任何终端可显示
- 真实图片:通过 chafa 渲染为 Sixel 位图(Windows Terminal 1.22+ 支持),图片随
logos/目录内容轮换 - 分组系统信息:
系统(User/OS/Kernel/Uptime/Shell/Term/WM-DE/Pkgs)与硬件(CPU/GPU/Cores/Memory/Disk/Res) - 自定义模块:
modules/下的可执行脚本,输出追加到信息列(内置示例:今日任务、目标进度) - 调色板色块:经典 neofetch 风格 16 色展示
- 名句轮换:300 条外国文学名句(中文译文 + 出处),每次运行顺序轮换
- 自动清屏:每次运行清空滚动历史,保证单次输出干净稳定
- CMake ≥ 3.16、C++17 编译器
- chafa(图片渲染,
sudo pacman -S chafa或对应包管理器) - ImageMagick(可选:转换 PPM 为 PNG)
cmake -S . -B build
cmake --build buildcp build/zazaki_fetch ~/.local/bin/zazaki_fetch # 默认:紧凑模式 + 自动清屏 + 名句
zazaki_fetch --full # 完整模式(分组标题 + 调色板)
zazaki_fetch --compact # 紧凑模式(无分组标题/调色板)
zazaki_fetch --no-clear # 不清屏布局:字母 → 名句 → 图片 → 信息列。图片和信息列并排,名句在图片上方(Windows Terminal 的 Sixel 图片矩形会覆盖其下方内容,这是唯一保证名句稳定显示的位置)。
| 文件/目录 | 说明 |
|---|---|
logo.txt |
自定义 ASCII logo(≤48 列左右布局,>48 列上下布局) |
logos/ |
图片目录,放 PNG/JPG/GIF/WebP 等,每次运行随机选一张 |
modules/ |
模块脚本(任意可执行文件,stdout 追加到信息列,─ 名称 ─ 分隔) |
quotes.txt |
名句库,每行 名句|作者|作品 |
.quote_index |
名句轮换索引(删除即从第一条重新开始) |
modules/00-todo-today.sh 从 ~/docs/daily/<日期>.txt 提取 [任务] 区;modules/01-goal.py 读取 goal-runner 的 ~/GOAL_STATE.json 显示目标进度。
bash tests/smoke.shLinux 全平台;WSL2 + Windows Terminal(1.22+)下图片以真实位图显示,其他终端自动回退。