Tree [b83505] master /
History



File Date Author Commit
doc 2013-01-28 Sebastian Gniazdowski Sebastian Gniazdowski [43f385] Fixed X11 recognition. Updated sample config file.
keyvis 2013-02-10 Sebastian Gniazdowski Sebastian Gniazdowski [8b764b] Project is now ready for Mac-specific code
m4 2013-12-22 Sebastian Gniazdowski Sebastian Gniazdowski [b83505] ax_boost_thread to know true system & needed flags
scripts 2013-02-10 Sebastian Gniazdowski Sebastian Gniazdowski [8b764b] Project is now ready for Mac-specific code
src 2013-11-23 Sebastian Gniazdowski Sebastian Gniazdowski [83198e] Cleanup on boost::TIME_UTC_ usage
AUTHORS 2013-01-24 Sebastian Gniazdowski Sebastian Gniazdowski [8923ff] Updated import, should compile with new systems
COPYING 2013-01-24 Sebastian Gniazdowski Sebastian Gniazdowski [8923ff] Updated import, should compile with new systems
ChangeLog 2013-01-24 Sebastian Gniazdowski Sebastian Gniazdowski [8923ff] Updated import, should compile with new systems
Doxyfile 2013-02-10 Sebastian Gniazdowski Sebastian Gniazdowski [8b764b] Project is now ready for Mac-specific code
INSTALL 2013-01-31 Sebastian Gniazdowski Sebastian Gniazdowski [ed5f3c] Build system updates
LICENSE.BSD 2013-01-29 Sebastian Gniazdowski Sebastian Gniazdowski [a0757f] License updates
Makefile.am 2013-01-26 Sebastian Gniazdowski Sebastian Gniazdowski [be564f] Build system updates -- Xtst is now being detec...
Makefile.cvs 2013-01-24 Sebastian Gniazdowski Sebastian Gniazdowski [8923ff] Updated import, should compile with new systems
NEWS 2013-01-24 Sebastian Gniazdowski Sebastian Gniazdowski [8923ff] Updated import, should compile with new systems
README 2013-11-02 Sebastian Gniazdowski Sebastian Gniazdowski [14b069] Fixes for C++11
TODO 2013-01-24 Sebastian Gniazdowski Sebastian Gniazdowski [8923ff] Updated import, should compile with new systems
autogen.sh 2013-12-08 Sebastian Gniazdowski Sebastian Gniazdowski [29e451] call m4 indirectly avoiding detection by aclocal
configure.ac 2013-12-08 Sebastian Gniazdowski Sebastian Gniazdowski [29e451] call m4 indirectly avoiding detection by aclocal
keyfrog-1.spec 2013-02-10 Sebastian Gniazdowski Sebastian Gniazdowski [8b764b] Project is now ready for Mac-specific code

Read Me

Keyfrog Tar.Gz is the main package. It includes Keyfrog & Keyvis source.

Keyvis ZIP is a binary package of Keyvis -- the visualizing tool.

Keyfrog DEB is a binary package of Keyfrog -- the monitoring daemon.


Example Keyfrog run:
$ keyfrog --nb --display $DISPLAY

#
# Building
#

Generic installation instructions are described in INSTALL. Basically run:

$ ./autogen.sh ; ./configure ; make && make install

Running autogen.sh might be optional -- if `configure' already exists, skip
autogen. On the other hand, rerunning autogen.sh might help in case of
unexpected configure problems.

To include Keyvis, add --with-keyvis option to configure. It will use Ant to
build NetBeans project. You will need jars (look below) and Java developer
tools (JDK). You can also download a binary Keyvis package (it's in Java, so
binary shouldn't cause any problems).


#
# Using Keyfrog
#
# 1. Daemon - KEYFROG
#

Try running in foreground (keyfrog --nb, also look at --help) -- observing
keyfrog debug output makes it easy to tune configuration ~/.keyfrog/config.
When run in background, output is being redirected to /tmp/keyfrog.log.

Look at doc/sample-config. You probably want to copy it to ~/.keyfrog/config
It's easy to edit.

Keyfrog collects keyboard usage statistics into ~/.keyfrog/keyfrog.db
database (SQLite). From there, separate GUI application `Keyvis' does
computations and presents visualization.


#
# 2. Visualization - KEYVIS
#

To visualize collected data use Keyvis. Its sources are in keyvis
sub-directory. Make sure all jar files are downloaded before building
the NetBeans project (look into keyvis/README). Keyvis is installed in
/opt/keyvis by default. Make a symlink:

$ ln -s /opt/keyvis/keyvis /usr/bin

Then start Keyvis by typing `keyvis' in shell.

You can also download a binary release (zip file) from SourceForge. It
includes the jars and is ready to run.

Charts will be interesting after running keyfrog daemon for one week or more.

For more information about Keyfrog go to SourceForge project page:
http://sf.net/projects/keyfrog

#
# 3. RECORD extension
#

Keyfrog relies on RECORD extension of X11 server. On Ubuntu, install packages
libxtst6, libxtst-dev -- these are for Xorg server. Other package names:
xorg-libXtst (macports). After installing, restart your desktop.

On OS X the RECORD extension needs to be enabled first (restart X11 after
issuing one of the 'defaults' command):

# if you use MacPorts Xserver (Xquartz)
$ defaults write org.macports.X11 enable_test_extensions -boolean true

# if you use Apple's original Xquartz Xserver
$ defaults write org.x.X11 enable_test_extensions -boolean true

# if you use the open source Xquartz Xserver (OS X 10.7 and later)
$ defaults write org.macosforge.xquartz.X11 enable_test_extensions -boolean true

Keyfrog is capable of monitoring applications being run INSIDE ANY X11
TERMINAL. So you can track whether you use `vim' or `mc', or other console
program. This feature reads /proc file system -- so you can "only" monitor
applications that run on the same machine on which keyfrog daemon runs. X11
server can be remote. This feature still uses RECORD extension.