tsunami

log in
history

IdleTime

Luke Breuer
2008-03-29 05:43 UTC

The help text:
Author:  Luke Breuer
Date:    01.07.08
Purpose: Periodically poll the system for idle time information, as well as
         information pertaining to the currently active window.
Usage:
         IdleTime.exe
             pollingInterval     in seconds
             [logFile]           tee messages to this file
             [-q --quiet]        no console output, aside from errors
             [-c --class]        window class name
             [-e --exe-name]     window exe name (no path)
             [-t --title]        window title
             [-o --other-title]  other window title (run with -? for details)

         Note: the order in which the window information methods are
               specified, either the -- version or in the switches value,
               controls the order the different fields are printed
Examples:
         IdleTime.exe 60 c:\idle.log
         IdleTime.exe 1 -ecto

Parsing: All fields should be delimited by two or more spaces.  All instances
         of one or more whitespace characters in window fields get replaced
         with a single space.  Exe names and classes should not contain
         anything other than a single space at a time of whitespace, but this
         is not guaranteed or checked for.

Other-title: Multiple document interface (MDI) programs sometimes do not
         reflect the currently active document in the main window title.
         To counteract this, some window class paths have been hard-coded
         into this executable.  For example, if --other-title has been
         specified and the foreground window is wndclass_desked_gsk, then
         the descendents will be searched according to the path set forth
         by MDIClient|EzMdiContainer|DockingView: first a child window
         of class MDIClient is searched for, ..., lastly, the title of the
         first window with class DockingView is returned.  If a window is
         not found, an error message will print out (starting with '>> '),
         specifying the class which was not found.
Some sample output:
08.01.07 14:47:15    0.0  firefox.exe    Slashdot | MS To Push Silverlight Via Redesigned Microsoft.com - Mozilla Firefox  MozillaUIWindowClass
08.01.07 14:48:15    0.0  firefox.exe    Slashdot | MS To Push Silverlight Via Redesigned Microsoft.com - Mozilla Firefox  MozillaUIWindowClass
08.01.07 14:49:15    0.2  firefox.exe    Slashdot | MS To Push Silverlight Via Redesigned Microsoft.com - Mozilla Firefox  MozillaUIWindowClass
08.01.07 14:50:15    0.1  firefox.exe    Slashdot | MS To Push Silverlight Via Redesigned Microsoft.com - Mozilla Firefox  MozillaUIWindowClass
08.01.07 14:51:15    0.0  firefox.exe    Journal of AKAImBatman (238306) - Mozilla Firefox  MozillaUIWindowClass
08.01.07 14:52:15    0.8  firefox.exe    Journal of AKAImBatman (238306) - Mozilla Firefox  MozillaUIWindowClass
08.01.07 14:53:15    0.0  Spark.exe    Mike Roach  SunAwtFrame
08.01.07 14:54:15    0.6  Spark.exe    Mike Roach  SunAwtFrame
08.01.07 14:55:15    1.6  Spark.exe    Mike Roach  SunAwtFrame
08.01.07 14:56:15    2.6  Spark.exe    Mike Roach  SunAwtFrame
08.01.07 14:57:15    0.1  firefox.exe    Journal of AKAImBatman (238306) - Mozilla Firefox  MozillaUIWindowClass
08.01.07 14:58:15    0.0  firefox.exe    Journal of AKAImBatman (238306) - Mozilla Firefox  MozillaUIWindowClass
08.01.07 14:59:15    0.0  firefox.exe    Journal of AKAImBatman (238306) - Mozilla Firefox  MozillaUIWindowClass
08.01.07 15:00:15    0.1  firefox.exe    Gmail - Inbox - labreuer@gmail.com - Mozilla Firefox  MozillaUIWindowClass
08.01.07 15:01:15    0.1  firefox.exe    Gmail - Inbox - labreuer@gmail.com - Mozilla Firefox  MozillaUIWindowClass