Cross-platform system monitor — C++20 / Qt6 — processes, memory, network, storage. Pluggable Linux / Windows backends via factory pattern.
- 4 tabs: Processes / Memory / Network / Storage (
src/MainWindow.cpp:9) - Interfaces:
IProcessMonitor,IMemoryMonitor,INetworkMonitor,IStorageMonitor+BackendFactory - Platform backends:
src/backend/linux/andsrc/backend/windows/(auto-selected in CMake) - Qt6 Widgets + Charts, CMake 3.22+, C++20
C++20 Qt6 (Widgets, Charts) CMake Linux Windows — psapi/pdh/iphlpapi/ws2_32 on Windows
Linux (Ubuntu/Debian):
sudo apt install cmake qt6-base-dev qt6-charts-dev build-essentialWindows (MSYS2 UCRT64):
pacman -S mingw-w64-ucrt-x86_64-qt6-base mingw-w64-ucrt-x86_64-qt6-charts mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninjagit clone https://github.com/XenoCyber0/SysManager.git
cd SysManager
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel
./build/SysManager # Linux
./build/SysManager.exe # Windowssrc/main.cpp — QApplication entry
src/MainWindow.{h,cpp} — 4-tab window, wires monitors
src/backend/interfaces/ — I*Monitor abstractions
src/backend/linux|windows/ — platform implementations
src/ui/ — ProcessTab, MemoryTab, NetworkTab, StorageTab
src/utils/ — helpers
CMakeLists.txt — Qt6 Widgets + Charts, C++20
- CPU per-core graphs
- Process kill / priority
- Export to CSV/JSON
- Tray + autostart
MIT — see LICENSE