ecf066dcb379ac035cc1a9f37541849b9eeb8175
i used chatgpt for it please don't take my life i still don't know make
fetchit
fetchit is a terminal-based system information viewer written in C++. It works like neofetch/fastfetch and consists of a single file (main.cpp).
Features
- Displays distro, kernel, uptime, shell, CPU, GPU, RAM, and OS date information.
- Detects distro name via
/etc/os-release. - Shows ASCII logos for supported distros.
- Reads
/usr/share/hwdata/pci.idsfor GPU names; prints hex IDs if missing. - Accounts for Unicode character width (for icon alignment).
Supported Distro Logos
arch, cachyos, debian, ubuntu, fedora, manjaro, opensuse, pop, linuxmint, endeavouros, void, alpine
Requirements
- Linux
- A C++17-capable compiler (e.g., g++)
- A UTF-8 terminal with ANSI color support (for icons and colors)
- The following files/paths are read:
/etc/os-release/etc/hostname/proc/uptime/proc/cpuinfo/proc/meminfo/sys/bus/pci/devices//sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq/usr/share/hwdata/pci.ids(optional)
Build
g++ -std=c++17 -O2 -o fetchit main.cpp
Run
./fetchit
Sample Output
--- murat@baklava ---
/\ distro: Arch Linux
/ \ kernel: 7.0.10-arch1-1
/ \ uptime: 1 minutes
/ \ shell: /usr/bin/bash
/ ,, \ CPU: 12th Gen Intel(R) Core(TM) i5-12500H (16) @ 4.5 GHz
/ | | \ GPU: AD107M [GeForce RTX 4060 Max-Q / Mobile] / Alder Lake-P GT2 [Iris Xe Graphics]
/_-'' ''-_\ RAM: 15.2529 GB
OS Date: 6 months 17 days 3 hours 40 minutes
Notes
OS Dateis based on the creation time of/etc/hostname.- If no ASCII logo is found, only the info list is printed.
- The distro logo is displayed in color via ANSI escape codes.
- This tool targets Linux systems and is not expected to work on non-Linux OSes.
Description
Languages
C++
95.6%
Makefile
4.4%