Home
Softono

Hyprwatch

Open source Apache-2.0 C++
12
Stars
0
Forks
0
Issues
0
Watchers
5 months
Last Commit

 About Hyprwatch

Blazing fast, context-aware TUI system monitor for Hyprland

Platforms

Web Self-hosted Linux

Languages

C++

Links

Need Help Installing Hyprwatch?

We provide expert installation service for this software. Our team will install, configure, and secure Hyprwatch on your server. plans start at just $30.

Hyprwatch

A lightweight time tracking daemon and TUI client for Hyprland window manager. Hyprwatch

License Language Platform

Features

  • Real-time window tracking - Monitors active window changes via Hyprland IPC
  • Time accumulation - Tracks time spent per application
  • TUI Client - ncurses-based interface

Requirements

  • CMake (>= 3.16)
  • C++17 compiler (gcc/clang)
  • ncurses
  • Hyprland (window manager)

Installation & Usage

Platform-specific installation instructions

Arch Linux

# Build from source
sudo pacman -S base-devel cmake ncurses git
git clone https://github.com/Farhan291/hyprwatch.git && cd hyprwatch
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build
sudo cmake --install build --prefix /usr/local

AUR

# Using yay
yay -S hyprwatch

# Or build manually
git clone https://aur.archlinux.org/hyprwatch.git && cd hyprwatch
makepkg -si

Ubuntu/Debian

sudo apt update && sudo apt install -y build-essential cmake libncursesw5-dev
git clone https://github.com/Farhan291/hyprwatch.git && cd hyprwatch
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build
sudo cmake --install build --prefix /usr/local

# Enable systemd service
systemctl --user enable --now hyprwatchd

# Run client
hyprwatch

Fedora

sudo dnf install cmake ncurses-devel gcc-c++ git
git clone https://github.com/Farhan291/hyprwatch.git && cd hyprwatch
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build
sudo cmake --install build --prefix /usr/local

# Enable systemd service
systemctl --user daemon-reload
systemctl --user enable --now hyprwatchd

# Run client
hyprwatch

OpenSUSE

sudo zypper install cmake ncurses-devel gcc-c++ git
git clone https://github.com/Farhan291/hyprwatch.git && cd hyprwatch
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build
sudo cmake --install build --prefix /usr/local

# Enable systemd service
systemctl --user daemon-reload
systemctl --user enable --now hyprwatchd

# Run client
hyprwatch

Nix

nix build github:Farhan291/hyprwatch

# Or install to profile
nix profile install github:Farhan291/hyprwatch

Usage

Start the daemon

# Using systemd (recommended)
systemctl --user daemon-reload
systemctl --user enable --now hyprwatchd

# Or run manually
hyprwatchd

Run the client

hyprwatch

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     IPC      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     Unix Socket     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Hyprland   │◄────────────►│  hyprwatchd  │◄───────────────────►│  hyprwatch  β”‚
β”‚   (WM)      β”‚   Events     β”‚   (Daemon)   β”‚    Data Request     β”‚   (TUI)     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Hyprwatch uses a client-server architecture:

  • hyprwatchd (daemon) - Background service that connects to Hyprland's IPC socket, tracks window focus changes, and maintains time statistics
  • hyprwatch (client) - TUI application that connects to the daemon via Unix socket and displays real-time data

License

Apache License 2.0 - See LICENSE for details.

Copyright 2026 Farhan

References