# README
timetracker
A personal time tracker for simple tasks
Features | Installation | Usage | Changelog
What is it?
timetracker
is a personal time tracker for simple tasks. It is loosely based on a time tracking program I used in the early 2000s.
What does it do?
timetracker
tracks the date and time that a task starts at and stops at in a database. It can report on how long was spent on each task in a given time period.
Features
- Cross-platform; supporting Linux, macOS, and Windows
- Tested on Ubuntu 22.04, macOS Monterey + Sonoma, Windows 10 and 11
- GUI app to start, stop, and manage tasks
- System tray app
- Convenient access to start, stop, and create tasks
- Task status (idle, running)
- CLI app for scripting or other command-line tasks
Installation
Build Dependencies
To build timetracker
from source, install the following tools followed by the dependencies that your Operating System requires below:
- Golang v1.18 or newer
- GNU Make v3.82 or newer
- Git
Linux
Run one of the commands below to install dependency packages:
Ubuntu/Debian
sudo apt-get install golang gcc libgl1-mesa-dev xorg-dev
Fedora
sudo dnf install golang gcc libXcursor-devel libXrandr-devel mesa-libGL-devel libXi-devel libXinerama-devel libXxf86vm-devel
macOS
Install the Xcode tools from the Terminal using the following command:
xcode-select --install
Other Operating Systems
Please consult the following sites for information on dependencies for other platforms:
Building
- Clone the repository to your machine using GitHub's download feature or by using the following
git
command:
git clone https://github.com/neflyte/timetracker
- Build the
timetracker
app:
make
- The app will be placed in the
dist
subdirectory
Installing
Linux
- Copy the apps from the
dist
subdirectory to a directory on the system path, for example/usr/local/bin
or$HOME/bin
:
cp dist/timetracker* $HOME/bin
macOS
- Copy the
Timetracker.app
bundle from thedist
subdirectory into theApplications
folder.
Windows
- Copy the apps from the
dist
subdirectory to a new directory, for exampleC:\Program Files\Timetracker
, and add it to the systemPATH
environment variable:
New-Item 'C:\Program Files\Timetracker' -Type Directory -Force
Copy-Item dist\timetracker*.exe 'C:\Program Files\Timetracker'
Usage
GUI app
Linux
To start the GUI app, run the following command:
timetracker-gui
macOS / Windows
To start the GUI app, double-click on the app icon.
System tray app
To start the system tray app as a background process, run one the following commands:
Linux
nohup timetracker-tray &
macOS
nohup /Applications/Timetracker.app/Contents/MacOS/timetracker-tray &
Windows
timetracker-tray
- The system tray app can also be launched by double-clicking the
timetracker-tray.exe
app icon.