Your intelligent productivity suite that enhances focus and digital awareness
Chronos is a versatile productivity toolkit designed to help you work smarter and maintain focus in your digital environment. It combines process tracking, window management, focus enhancement tools, and productivity features through an intuitive command system. Whether you're coding on LeetCode, analyzing your application usage patterns, or trying to maintain focus, Chronos provides the tools you need while staying lightweight and unobtrusive.
- Process Usage Tracking - Real-time monitoring of application usage with precise timing
- Current Window Tracking - Detailed information about the active window including PID, process name, and window title
- Window Switch Detection - Logs window switching events with timestamps to track focus changes
- LeetCode Focus Mode - Helps maintain focus during LeetCode problem-solving by automatically closing non-LeetCode tabs
- Command System - Flexible command input system using a trie-based implementation
- GUI Dashboard - Multiple clean interfaces for process stats, window tracking, and switch logs
- Desktop Notifications - Native system notifications for important events and updates
- Background Monitoring - Runs quietly in the background while tracking your activity
- Python 3.12+
- Key Libraries:
psutil- Process and system monitoringpynput- Keyboard input handlingdesktop-notifier- System notificationspywin32- Windows API integrationtkinter- GUI implementationplaywright- Browser automation for LeetCode focus moderequests- HTTP client for browser debugging
- Clone the repository:
git clone https://github.com/yourusername/chronos.git
cd chronos- Install UV if you haven't already:
curl -LsSf https://astral.sh/uv/install.sh | sh- Sync local environment with UV:
uv sync- Start Chronos:
uv run main.py- Available commands:
;;process-usage=- Opens the process tracking dashboard showing application usage times;;current-window=- Shows real-time details about the active window;;switch-detection=- Opens a window switch log showing focus changes with timestamps;;leet-focus=- Activates LeetCode focus mode to maintain concentration while solving problems
- Press
ESCto clear the command buffer at any time
Chronos uses a multi-threaded architecture:
- Main thread handles keyboard input and command processing
- Separate thread for process monitoring
- Asyncio event loop for command execution
- GUI runs in its own thread for smooth updates