!! warning: this program is a work-in-progress and is subject to rapid breaking changes in the master branch.
lachesis is a completely cli-based, customizable, automatic time tracking tool designed for tracking and viewing screentime. it tracks your process usage and provides an intuitive command line interface for managing, filtering, and exporting time spent on applications.
- automatic time tracking: background monitor (
laches_mon) that tracks active processes at a fixed interval. - tags: tag processes and group tracked time together.
- filtering rules: whitelist or blacklist specific processes (with optional regex matching).
- data export: export tracked data to json.
- cross-platform: windows and linux support with the ability to aggregate data across machines if synced.
- (!! planned) idle tracking: automatic detection of idle vs active time.
start and stop the background monitor:
laches start
# started monitoring process usage.
laches stop
# stopped monitoring process usage.list tracked applications:
laches listfilter the list by tag:
laches list --tag workshow only today’s activity:
laches list --todaylist data for a specific date:
laches list --date 2024-01-01include data from all machines:
laches list --all-machinesadd or remove tags from a process:
laches tag firefox --add browser
laches tag firefox --remove browserlist tags for a process:
laches tag firefox --listset the global filtering mode:
laches config mode whitelist
# or
laches config mode blacklistonly track explicitly allowed processes:
laches config whitelist add firefox
laches config whitelist add "^chrome.*" --regexremove or inspect whitelist entries:
laches config whitelist remove firefox
laches config whitelist list
laches config whitelist cleartrack everything except excluded processes:
laches config blacklist add discordmanage blacklist entries:
laches config blacklist remove discord
laches config blacklist list
laches config blacklist clearshow the current configuration:
laches config showset a custom data storage path:
laches config set-store-path /path/to/storeenable or disable autostart:
laches config autostart yes
laches config autostart noexport tracked data to a file:
laches data export out.jsonexport only a specific duration:
laches data export out.json --duration 7dinclude data from all machines:
laches data export out.json --all-machinesdelete data for a given duration:
laches data delete --duration 7ddelete all stored data:
laches data delete --allreset all stored data and state:
laches data resetcontributions are welcome. if you have ideas or improvements, check out the issue tracker and start contributing. you can also report bugs or request features by opening an issue.