How abderrahmen-bchini/fasterfetch works
fasterfetch is a C system-information display tool for Linux and macOS. The user invokes the CLI; it loads optional configuration, gathers system and environment data, selects ASCII art and styling, then renders a terminal card. The graph preserves the documented information categories and customization features. Several implementation details are unsampled, so only documented or excerpt-supported relationships are connected; the system-interface and logo links are based on README descriptions.
Main entry points: main.c CLI and card renderer · sysinfo.c System info getters · module_registry.c Info module registry · config.c Config loading
Components 17
CLI and rendering
- CLI and card renderer
src/main.c
System information
- Info module registry
src/modules/module_registry.c - System info getters
src/modules/sysinfo.c - OS and session data
src/modules/sysinfo.c - CPU, GPU, battery
src/modules/sysinfo.c - Memory, disk, packages
src/modules/sysinfo.c - Local IP
src/modules/sysinfo.c
Configuration and appearance
- Config loading
src/config.c - Theme palettes
src/modules/themes.c - Border styles
src/modules/border.c - Built-in logos
src/modules/logos.c - ASCII art files
src/utils/utils.c
Parsing and utilities
- JSON parser
src/utils/json.c - Formatting helpers
src/utils/utils.c
Other components
- User
- Terminal output
- Kernel interfaces
Connections 16
- User → CLI and card renderer: invokes
README.md - CLI and card renderer → Config loading: loads settings
README.md - Config loading → JSON parser: parses config
src/config.c - CLI and card renderer → Info module registry: dispatches getters
src/main.c - Info module registry → System info getters: maps getters
src/modules/module_registry.c - System info getters → OS and session data: reads values
README.md - System info getters → CPU, GPU, battery: reads values
README.md - System info getters → Memory, disk, packages: reads values
README.md - System info getters → Local IP: reads values
src/modules/sysinfo.c - System info getters → Kernel interfaces: reads interfaces
README.md - CLI and card renderer → Theme palettes: selects palette
src/main.c - CLI and card renderer → Border styles: selects border
src/main.c - CLI and card renderer → Built-in logos: selects logo
README.md - CLI and card renderer → ASCII art files: loads art
src/main.c - CLI and card renderer → Formatting helpers: formats layout
src/main.c - CLI and card renderer → Terminal output: renders card
src/main.c