topfetch++
==========

A tiny live system monitor and fetch tool for Linux, written in C++.

It combines fastfetch and btop in one small program: a distro logo and
system info that refresh every second, with live CPU, memory, and uptime.


FEATURES

  - Distro logo next to your system info (NixOS, Arch, Gentoo, plus a
    generic fallback)
  - Live-updating CPU usage, memory, and uptime
  - Picks the logo from /etc/os-release, and derivatives work through
    ID_LIKE (Manjaro gets the Arch logo, for example)
  - No dependencies beyond the C++ standard library
  - Reads /proc and /etc/os-release directly, so the code is short and
    easy to follow


BUILD

  g++ -std=c++17 main.cpp -o topfetch


USAGE

  ./topfetch
  ./topfetch --logo arch

  --logo overrides the detected distro. Available logos: nixos, arch,
  gentoo. Unknown distros get a generic Tux. Stop it with Ctrl+C.


PLATFORM

  Linux only. It relies on /proc and /etc/os-release.


ADDING A LOGO

  Add an entry to the map in pickLogo in main.cpp. The key is the ID=
  value from /etc/os-release. Each entry holds the art lines and an ANSI
  color code.


SOURCE

  Development happens in Mercurial at https://hg.charliesmp.net/topfetch++.
  Send patches to Yasuri <yasuri@charliesmp.net>.
  This repository is a mirror.


LICENSE

  topfetch++ is licensed under the ISC license. See the LICENSE file.

  The ASCII art logos are adapted from pfetch (MIT):
    Copyright (c) 2016-2021 Dylan Araps
    Copyright (c) 2024-2025 Joey Reinhart
  See the THIRD-PARTY-NOTICES file for the full license text.
