Skip to content
Automatic activity time tracker application.
Branch: master
Clone or download
Latest commit 6d87258 Nov 8, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
controllers
resources
screenshots
src
static
views
.gitignore
LICENSE.md
PKGBUILD
README.md
TODO.md
composer.json
index.php
infocus.install
install.sh
main.php

README.md

InFocus

Automatic activity time tracker application.

InFocus Logo

OS: Linux License: GPLv3 Status: Beta

About

InFocus is an automatic activity time tracker that monitors the currently focused window and stores the amount of time spent on it on a daily basis. The application was developed as a way to monitor my self, and rises from the concern that I may be trashing significant amounts of time on stuff that doesn't matters. So InFocus should help in the auto-evaluation of our daily work on the computer making it easier to make decisions concerning our daily schedule.

Installation

The application is developed in PHP and makes use of php's built-in webserver to host the user interface and uses chromium or firefox as a medium to display the web interface. Currently the --app flag of chromium is employed to get an experience more similar to that of a typical application.

Before using the application you have to fetch the composer dependencies by doing:

cd infocus
composer install

Dependencies

  • php - for interface and activity logger
  • php-sqlite - the php pdo extension to store activity data
  • chromium - to display the user interface (recommended)
  • firefox - to display the user interface (optional)
  • xprop - get active window
  • wmctrl - information of active windows
  • xprintidle - detect if the person is away from keyboard

If installing directly to system as root user:

cd infocus
./install.sh

The ./install.sh shell script also supports de DESTDIR environment flag, which can be used to easily package the application for distribution by distro packagers.

cd infocus
DESTDIR=~/infocus/install ./install.sh

Uninstallation

cd infocus
./install.sh remove

Usage

To start tracking your daily activity is needed to launch the infocus logger by enabling the systemd infocus service for your user account.

systemctl --user enable infocus
systemctl --user start infocus

This will track all the applications that you use and how much time you spent on them. This information is stored on a sqlite database located on:

~/.config/InFocus/activity_log.db

The web interface can then be launched from the applications menu.

CLI Usage

For help on the available infocus commands, at your shell just invoke:

infocus help

Screenshots

Overview overview

Applications applications

Activities activities

Inactivity inactivity

Preferences preferences

You can’t perform that action at this time.