Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

majoraexp/Taskwire

Repository files navigation

Taskwire

License Release Python Platform

⚠️ Disclaimer: This is an AI "vibe coded" project, and my first attempt at making something useful with it.

Taskwire is a modern, dark-themed system monitor for Linux, designed with a "Video Game HUD" aesthetic. It provides real-time monitoring of your system's performance with a visual style inspired by cyberpunk interfaces and modern desktop widgets.

πŸ“₯ [Download the latest standalone executable (No Python required)] (Now compiled in C++!) https://github.com/majoraexp/Taskwire/releases)

Taskwire Dashboard

Taskwire Processes The Process Manager with normalized memory tracking.

πŸš€ Features

  • HUD-Style Dashboard: A cohesive, single-window interface with a Dracula-inspired dark theme and neon accents.
  • Live Monitoring:
    • Extended History: Customizable graph duration (60s, 90s, 30 Minutes) for long-term trend spotting.
    • CPU: Overall usage with a large percentage overlay, per-core utilization bars with frequency (MHz/GHz), and live history.
    • Memory: Interactive circular gauge showing Physical Memory (RAM) usage.
    • Disk: 3D isometric drive icons for physical disks and a real-time Read/Write Speed Graph.
    • Network: Real-time upload and download speeds.
    • Thermals: Live temperature graphs for CPU, GPU, and motherboard sensors.
    • Fans: Live RPM monitoring for system fans.
    • Enhanced Visuals: X-axis time indicators, vertical hover lines, and dynamic tooltips on all graphs.
  • Process Manager:
    • Full list of running processes.
    • Customizable Metrics: Right-click headers to toggle columns and arrange metrics to your liking.
    • Sortable Columns: Click headers to sort by CPU, Memory, PID, or Name.
    • Normalized Memory: Process memory metrics (Resident, Shared) are dynamically scaled to match system total.
    • Clean Visualization: Simplified text-based view (no visual clutter) for easier reading of metrics.
    • Swap Monitoring: Tracks Swap usage per process.
    • Grouping: Collapses multiple processes by name (e.g., "firefox (12)") for a cleaner view.
    • Process Tree Management: Kill entire process stacks from the grouped view or use "End Process Tree" in detailed view.
    • Search functionality.
  • Custom UI: Built with PyQt6 using custom QPainter rendering for gauges, graphs, and icons (no image assets required, fully procedural).

πŸ“¦ Installation

Most Users: You do NOT need to install Python or follow the steps below if you just want to run the app. πŸ‘‰ Download the standalone executable , mark it as executable (chmod +x Taskwire), and double-click to run.

Running from Source (Developers)

If you want to modify the code or run it from source, follow these detailed steps.

Prerequisites

  • Python 3.8 or newer: Verify with python3 --version.
  • Linux: Tested on Fedora/Nobara, Ubuntu, Debian, and Arch.

Step-by-Step Guide

  1. Clone the repository: Open your terminal and run:

    git clone https://github.com/majoraexp/Taskwire.git
    cd Taskwire
  2. Create a virtual environment (Recommended): This keeps your system packages clean.

    python3 -m venv venv
    source venv/bin/activate

    (You will see (venv) appear in your terminal prompt indicating it is active.)

  3. Install dependencies: This installs PyQt6 (for the GUI) and psutil (for system monitoring).

    pip install -r Taskwire/requirements.txt
  4. Run the application:

    python3 Taskwire/main.py

πŸ›  Building Executable (Linux)

Standard Build (For your own machine)

To create a standalone portable executable for your current OS version:

  1. Ensure you have the dev dependencies installed (PyInstaller):

    pip install pyinstaller
  2. Run the build script:

    ./build_app.sh
  3. The executable will be located at:

    Taskwire/dist/Taskwire
    

Building for Distribution (Nuitka / High Compatibility)

Recommended for Release. This method compiles the Python code to C++ using Nuitka inside a Docker container (Debian 11). This ensures the binary is highly optimized and compatible with older Linux distributions (glibc 2.31+, e.g., Ubuntu 20.04+, Fedora 32+).

Prerequisites: Docker

  1. Run the Nuitka build script:

    ./Nuitka_Build/build.sh
  2. The optimized executable will be located at:

    Nuitka_Build/output/Taskwire_Nuitka
    

PyInstaller Build (Legacy / Testing)

Useful for quick local builds without Docker.

  1. Run the docker build script:

    ./build_with_docker.sh
  2. The compatible executable will be created at Taskwire/dist/Taskwire.

See COMPATIBILITY_GUIDE.md for more details.

Taskwire for Windows

Taskwire is now available for Windows 10/11!

This is a native port rewritten to support the Windows API, featuring the same "Cyberpunk HUD" aesthetic but optimized for the Windows ecosystem.

Key Features

  • Native Performance: Compiled to C++ (via Nuitka) for instant startup and low resource usage.
  • Thermal Monitoring: Integrated LibreHardwareMonitor bridge for reading CPU/GPU temps and fan speeds.
  • Safe & Secure: Built to avoid antivirus false-positives common with other Python tools.

Download Taskwire for Windows (v1.0)
(Look for Taskwire-Windows-v1.0.zip in the latest release assets)

For build instructions, see the Release Page .

Credits

  • Theme: Inspired by the Dracula Theme.
  • Icons: Procedurally generated via Python/Pillow.

Contributing

See CONTRIBUTING.md for guidelines on how to contribute to this project.

License

GNU General Public License v3.0

About

Taskwire v1.52- Modern Linux System Monitor

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /