Skip to content
Cross-Platform, lightweight and simple timetracker
Lua CSS Makefile Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Updated CI build name. Jan 9, 2020
docs Fixed paths in development file. Feb 13, 2020
external
images Added creation of VERSION file during compilation so its possible for… Feb 12, 2020
platform Fixed path problems in plugin theme switcher and configurations for t… Feb 13, 2020
plugins Added new makefile instruction to refresh all the development data in… Feb 13, 2020
screenshots Updated README last release versions. Feb 13, 2020
src Added new makefile instruction to refresh all the development data in… Feb 13, 2020
themes Added new mint theme. Feb 10, 2020
.gitignore Edited style so the main colors of the tracker are better. Nov 22, 2019
LICENSE Create LICENSE Dec 15, 2019
Makefile Added new makefile instruction to refresh all the development data in… Feb 13, 2020
README.md Updated README last release versions. Feb 13, 2020
TODO.md Added new makefile instruction to refresh all the development data in… Feb 13, 2020
main.c Added run.sh file so the current path is injected in the libraries path. Dec 18, 2019

README.md

D-Tracker

Lightweight, cross-platform and simple to setup timetracker. Similar to hamster but uses about 10MB of RAM and has a small quantity of dependencies.

Motivation

I used hamster timetracker for my projects for years, but lately it disappeared from the debian repositories. I downloaded their latest version from github and it was not working well. After trying their other alternatives it was still not working well, so I decided to build the 'D-Tracker'.

My focus here is to:

  • Implement the main features I use regularly.
  • Reduce the number of dependencies and build steps so it is easier to make sure the application will still be easy to install in the future.
  • Have a small resources usage so I can have it open all day without thinking about it.
  • Be cross-platform so it works in more machines(I have never used any of the hamster integrations with the system).

Milestones

Release 1.0:

  • Start task
  • Stop task in progress
  • Edit the start and end time of an individual task
  • Associate a task with a project
  • Export filtered tasks to XML with the same format as the hamster timetracker
  • Listing of tasks per range of days
  • Project/Task Statistics by range of days
  • Autocomplete in task creation

Release 1.1:

  • Select themes

Release 1.2:

  • Command line client

Screenshots

D-Tracker UI with Default Theme D-Tracker UI with Stain Theme D-Tracker UI with Klinik Theme

Install

To run the application use the most recent release, which right now is the 1.1.

Linux

Package Manager

Binary Release

You can download the latest binary here.

The application is self-contained in the folder so if you just want to run it there execute the run.sh file.

If you want to install it to the system run the INSTALL.sh. When installed in the system and started, a database will be created inside the ~/.local/share/d-tracker/ folder.

To uninstall run the UNINSTALL.sh command. It will remove the whole application but still keep the database, so you don't lose your data in case your want to re-install it later.

Build from source

The dependencies in the dependencies list are bundled within the repository and will also be compiled. In order to build the project from source you will need the following packages: automake, libtool, libx11-dev, libxft2-dev, libxext-dev and libxxf86vm-dev.

To run the application self contained in a single folder run the following command and check the build/ generated folder.

make

To install the application in the system run:

make
sudo make install

To uninstall the application from the system run:

sudo make uninstall

Windows

Binary Release

You can download the latest binary here.

The application is self-contained in the folder so you just need to run the d-tracker.exe file.

Build from source

The dependencies in the dependencies list are bundled within the repository and will also be compiled.

My development environment is in Archlinux and Debian so I cross-compile the application. To compile the windows version you will need to have installed the mingw-w64 package. Then run:

make release_windows

After running the command, the self contained version of the software will be built in the build/ folder.

Development

If you are interested in improving d-tracker by improving stability, adding new functionalities, plugins, themes or other things check the development section.

Testing

To run the tests you will need busted. With that just run:

make test

Dependencies

The dependencies are in the external folder.

  • luajit - Used as scripting language to implement the application.
  • lsqlite - Contains the database and lua wrapper to communicate with it, so we can store the application data.
  • date - Used for parsing and handling of dates.
  • tekui - Used to implement the whole UI.
  • LuaFileSystem - Used to list the folders when exporting the tasks to XML.
  • freetype2 - (Only for X11) Used in the render of text and fonts in the tekui lib.
You can’t perform that action at this time.