kleinpa / keyboardtime

Foreground application logger for Windows

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KeyboardTime

KeyboardTime uses the Windows API to periodically check what program is in the foreground to chart and analyze your computer usage habits. The logs are stored in a SQLite database so offline analysis is also possible. Historical charts are available through a built-in web server.

KeyboardTime is written in Python and distributed as a standalone installer which can be found on the releases page.

Whenever the foreground application changes or the computer goes idle (no interactions in the past 60 seconds), an entry is added to the database including the hostname, the application name, start time, duration, and "activeness". "activeness" is the average time between interactions while that application was running. The application name used is the process image name which may or may not actually be descriptive.

Development

Prerequisites for building the application and installer:

The python dependencies can be installed with

pip install -r requirements.txt

then you should be able to build the exe with

make

and the installer with

make install

Docker

If Docker is available and configured to run Windows containers, the install/docker-build.bat script will download all the dependencies and build the whole application in a repeatable way.

About

Foreground application logger for Windows


Languages

Language:Python 40.7%Language:JavaScript 36.6%Language:CSS 10.3%Language:HTML 6.1%Language:Makefile 5.3%Language:Batchfile 0.9%