Skip to content

flakas/Latte

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latte - Automatic Time Tracker for Linux

Stable: Build Status Development: Build Status

Developing

git clone git://github.com/flakas/Latte.git
cd Latte
python setup.py clean develop

Installing and upgrading

Install (upgrade) from the latest source:

git clone git://github.com/flakas/Latte.git
cd Latte
python setup.py install

OR

Install via PIP (Python Package Index):

pip install latte

Upgrade via PIP:

pip install latte --upgrade

Configuration

Configuration files are saved in ~/.config/latte folder.

Statistics files are stored in ~/.config/latte folder (configurable)

Usage

Run the binary script either in foreground:

latte run

or in the background: latte run --silent &

Stats

To analyze log data you can use the built in analyzer:

Syntax: latte stats {windows,apps,tags} [OPTIONS]

  • latte stats windows to analyze log data from past 24 hours by window title
  • latte stats -h to print an help message

Time options:

  • --time-all to analyze all known log data
  • --time-seconds S to analyze log data created in last S seconds
  • --time-days D to analyze log data created in last D days
  • --time-weeks W to analyze log data created in last W weeks
  • --time-months M to analyze log data created in last M months

By default latte stats will analyze logs created in past 24 hours.

Displaying:

  • --display-all Display all found entries from the chosen time interval
  • --display-limit N Display up to N top entries
  • --display-time SECONDS Displays entries that have the accumulated time greater than SECONDS

Tags:

  • --tags show stats for the comma-separated tag names

Tagging

Latte can tag logs with custom tags for easier grouping and analytics.

Add tags:

  • latte tags add <name> [--window-title=<regex>] [--window-class=<regex>] [--window-instance=<regex>] [--tag=<regex>]
  • Filtering is based on Python's regular expressions using case-insensitive values;
  • Window title, class, instance and tag filters are optional. All specified filters must match for the tag to be assigned.

Delete tags:

  • latte tags delete <name>

Show all tags:

  • latte tags show

Forcibly retag all logs:

  • latte tags retag

Dependencies

This application requires:

  • Python 3
  • xprop to detect active window title for log tracking (sudo apt-get install x11-utils)

These dependencies are optional, but without them some functionality will not work:

  • libX11.so and libXss.so to detect whether user is inactive (packages libx11-dev and libxss-dev, sudo apt-get install libx11-dev libxss-dev)

Goal

To build an Automatic Time Tracker for Linux that:

  • keeps track of windows where the user spends time
  • is aware if the user is active or not
  • collects information for personal analysis and statistics
  • can classify activities based on user defined rules
  • ignores unwanted and sensitive information

All without any human intervention (except for the initial set up).

License

MIT license, check LICENSE.txt

Contributors

Special thanks to contributors.

About

Automatic time tracker for Linux

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages