
    1/89


    DIRK v2.0 -- Tune workbench colors to system performance

                         -----------------

                   Copyright (C) 1989 by Daniel Elbaum

         This software is freely redistributable provided that:
         the four files which comprise it (dirk, dirk.doc, dirk.h,
         adjust.c, main.c, sys, window.c) remain intact; all
         copyright notices contained in any of the aforementioned
         files remain intact; and no fee beyond reasonable remuneration
         for collation and distribution be charged for use and/or
         distribution.

                         -----------------

New Features:

    Pressing the right mouse button while the `Dirk' tinywindow
    is active will now expand the window, presenting numerical
    displays of the information Dirk uses.  Clicking the right
    button again while that window is selected will shrink the
    window back to a tinywindow.  Thanks to Steve Tibbett for
    the idea (from later versions of VirusX).

    While either the tinywindow or the display window is active,
    Dirk will update constantly.  Just select any other window
    to reinstate the timing interval.

    The '-bN' option (background intensity) has been replaced with
    six new optional arguments: three sets of color intensities
    which determine the color of the screen when memory is full
    and empty; at other times, the screen color is taken from an
    interpolation between the two.  See the '-erN ...' and '-frN'
    discussions.  Basically, you specify red, green, and blue
    intensities for the case wherein all memory is free and for
    the case wherein all memory is allocated.

    The default detail pen color is now a faint yellow, which
    provides better contrast with a wider range of backgrounds.

    The detail pen color arguments (+rN, +gN, +bN) must now be
    preceded with the letter 'd', and the '-' is used instead
    of the '+' to introduce arguments: -drN, -dgN, -dbN.

                         -----------------

Syntax:
    run Dirk [-t|m] [-gN] [-hN] [-lN] [-iN]]
        [-drN] [-dgN] [-dbN] [-erN] [-egN] [-ebN] [-frN] [-fgN] [-fbN]

                         -----------------

Parameters:

    Option   Default    Effect
    ---------------------------------------------------------------------
        t               track tasks only
        m               track memory only
        g        4      granularity of task mapping (small for few tasks)
        h       12      maximum detail intensity
        l        8      minimum detail intensity
        i      180      interval in ticks (60 or 50 per second)

        dr       2      tweak value for red component of detail pen
        dg       2      tweak value for green component of detail pen
        db       0      tweak value for blue component of detail pen
        er       0      amount of red when memory is empty
        eg       0      amount of green when memory is empty
        eb      14      amount of blue when memory is empty
        fr      14      amount of red when memory is full
        fg       0      amount of green when memory is full
        fb       0      amount of blue when memory is full

    If you like the program, you may eventually want to start it
    from your startup-sequence, so you might want to dirk around
    with the options before deciding on a command line to use.

    My startup-sequence uses this line:

        arun dirk -fr12 -er0 -fb0 -eb12 -i20 -h11 pri -5

    where `arun' is the ARP version of Run, which would work just
    as well, but for which one would discard the `pri -5' part.


    Here are all the options explained.

    The -t option enables task tracking only.  The background color
    is not affected.

    The -m option complements the -t option; only memory tracking is
    turned on.  The detail pen color is not affected.



    The following command line options require counts.  The valid
    range of the count varies from option to option.  All color
    counts should be between 0 and 15; other counts must be
    between 0 and 65535.

    Granularity, set with -gN, is the sensitivity with which detail
    pen color responds to the instantaneous number of ready tasks.
    Workable values lie between 1 and 8.

    Maximum detail intensity (-hN) is a limit on the brightness of
    the detail pen.  A value of 8 to 14 (14 brighter) can keep
    detail from glaring.  The valid range is 0-15.

    Minimum detail intensity -lN (ell not one) is a floor on the
    brightness of the pen, to maintain good contrast to the
    background.  For a light background, l should be at least 8.

    The interval (-iN) is the number of ticks to wait between
    data retrieval expeditions.  A tick is 1/60th of a second
    in the US, and 1/50 in Europe.  If N is given as 0, the
    research and reporting are done constantly, and system
    performance slows slightly but noticeably.  180 corresponds
    to ~3 seconds, and is probably a good functional maximum.

    The -d arguments specify the detail pen colors.
    As the number of tasks increases, the pen becomes dimmer,
    and as the proportion of active tasks increases, the pen
    becomes yellower.  -drN sets the red component (0-15),
    -dgN sets the green, and -dbN sets the blue.  It's worth
    experimenting to find a combination which provides good
    contrast.

    The -e and -f arguments specify the colors at the ends
    of the spectrum.  Values specified with -erN, -egN, and
    -ebN determine the color of the screen when virtually
    no memory is allocated, and values specified with -frN,
    -fgN, and -fbN determine the screen color when memory
    is full.  The greater the difference between the two,
    the finer the correlation between screen shade and memory
    usage.  The defaults (-er0, -eg0, -eb14, -fr14, -fg0, -fb0)
    cause the screen hue to range from blue (no memory in use)
    to red (all memory allocated).

    It all sounds confusing but once you run the program
    and see what it does, the meanings of the command line
    options will no doubt fall into place.

                         -----------------

Description:

    The purpose of this program is to present key system
    information to the user without cluttering up the display.
    The workbench background color changes from blue through
    purple to red as the amount of free memory decreases.
    The workbench detail color (the color of text and Workbench
    window borders) changes from bright white to gray as the
    number of system tasks increases.  Further, the yellow
    content of this color is increased according to the number
    of active tasks.

    On a newly-booted vanilla system, borders are white and the
    background is close to the standard Workbench blue.  As
    you use the system, calling up programs and creating files
    on the RAMdisk, the screen takes on an increasingly reddish
    hue.  When memory is nearly full, the background is completely
    red.

    Similarly, as tasks are added, the borders and text dim
    slightly.  In other words, after you set up dmouse, conman,
    snipit, or whatever to run in the background, the detail color
    fades, eventually to grey.  If many background tasks are
    active rather than just waiting around for an interrupt or
    message, the grey will be tinted yellow.

    With Dirk running in the background, you always have a rough
    idea of how much memory is available and how busy the system
    is, without hunting around for the window of your favorite
    resource-tracking gizmo.  If you need more precise information,
    just select the Dirk window and press the right mouse button.

                         -----------------

Bugs:
    Nary a one, I declare.  Dirk won't function properly if
    your workbench screen is fewer than 115 pixels tall.  But
    then, not many programs will.

                         -----------------

Signature and self-promo:

    If you want to send me money for Dirk, then by all means
    do so--many projects are in progress and I need financing.
    $5.00 is recommended.  Make checks payable to:

    Daniel Elbaum
    4816 SE Bybee Blvd.
    Portland, Ore. 97206


    Send comments, suggestions, and unmitigated praise to:

    Daniel Elbaum
    Portland bbs: Amigaboard!, NAG
    UUCP: ...!tektronix!reed!elbaum
    ARPA: elbaum@reed.EDU




