← all projects

timetracker

Very lean timetracker
repo linux timetracker

Time Tracker

Minimal GTK4 time tracking app for elementaryOS. Stays small so you can keep it on screen all day.

Screenshot from 2026-06-23 13 57 06

Requirements

On elementaryOS / Ubuntu these are typically pre-installed. If not:

sudo apt install python3-gi gir1.2-notify-0.7

Run

make run
# or
python3 timetracker.py

Install

make install

Copies the script to ~/.local/bin/timetracker and registers a .desktop entry so it appears in the app launcher.

Usage

| Action | How | |---|---| | Start tracking | Click an activity | | Pause | Click the active activity again | | Switch activity | Click a different activity (pauses current) | | Add activity | Click + Add activity | | Remove activity | Right-click an activity | | Archive day | Click Archive | | Set working hours | Click the gear icon | | Mini mode | Ctrl+M | | Edit time | Right-click an activity → Edit time |

Auto-pause on lock / sleep

The timer pauses automatically when the screen locks or the computer sleeps, and resumes when you unlock or wake. A desktop notification confirms the resume. Time spent locked or asleep is never counted.

Working hours

Set a start and end time (HH:MM) via the gear icon. At the start time you get a desktop notification. At the end time the day is archived automatically.

Data

| File | Contents | |---|---| | ~/.config/timetracker/config.json | Activities, accumulated time, working hours | | ~/.local/share/timetracker/archive.jsonl | One archived day per line |

Archive format:

{"date": "2026-06-23", "archived_at": "2026-06-23T17:30:00", "activities": [{"name": "Deep work", "seconds": 14400}]}