Short:    DPMS manager for CyberGraphX. V1.2
Author:   Magnus Holmgren (cmh@lls.se)
Uploader: Magnus Holmgren (cmh@lls.se)
Type:     util/cdity


Introduction
============

CGXDPMS - Now there's an acronym for you. ;) CGX stands for CyberGraphX,
and DPMS stands for Display Power Management Signaling. So, this is a
program that uses the DPMS feature in CyberGraphX.

Anyway, this is a small program I hacked together the other day (hence the
brief documentation ;). It is a small commodity that uses the DPMS function
in your graphics card and monitor. I wrote it since the DPMS program I had
seen was a bit large, and more importantly, didn't support all DPMS levels
available in CyberGraphX. Hence CGXDPMS, which supports all three DPMS
levels (and is a bit smaller).

CGXDPMS can be used in addition to a normal screen blanker.


Requirements
============

First of all, you need a graphics card and a monitor that supports DPMS.
You also need CyberGraphX (or compatible) installed. Other than that,
nothing special is required (except AmigaOS then).

If you use this with a graphics card that do support DPMS, but the monitor
does not, I don't know what will happen. If anything gets damaged, don't
blame me. And this brings us to...


No warranty
===========

There is no warranty for this software package. Although the author has
tried to prevent errors he can't guarantee that the software package
described in this document is 100% reliable. You are therefore using this
material at your own risk. The author cannot be made responsible for any
damage which is caused by using this software package.


Usage
=====

The following arguments can be specified on the command line, or as
tooltypes:

CX_PRIORITY
	The priority (within Commodities), for the hotkeys and similar.
	Default is 0.

BLANKKEY
	Description of the hotkey to make CGXDPMS go to the "first" DPMS
	mode. I.e., if STANDBYTIME is 0 and SUSPENDTIME is not, then
	pressing the hotkey will activate the suspend mode. Default is ""
	(i.e. no hotkey).

STANDBYTIME
	The number of minutes of inactivity to wait before the (optional)
	standby mode should be activated. Default is 15 minutes. Specifying
	0 will make CGXDPMS skip this mode.

SUSPENDTIME
	The number of minutes of inactivity to wait before the suspended
	mode should be activated. This time starts counting after the
	standby mode is activated (if at all). Default is 15 minutes.
	Specifying 0 will make CGXDPMS skip this mode.

OFFTIME
	The number of minutes of inactivity to wait before the off mode
	should be activated (erh ;). This time starts counting after the
	standby mode is activated (if at all). Default is 15 minutes.
	Specifying 0 will make CGXDPMS skip this mode.

	Note: Setting all the above times to zero is rather pointless to
	do, don't you think? ;) There's not check for it...

SENDSHIFT
	In order to stop a possible screen blanker from doing any
	uneccessary work, CGXDPMS will regularly emulate the pressing of
	the left shift key while the monitor is not "on", if this switch is
	specified. This should keep any screen blanker from going into
	action.

	Pressing the shift key shouldn't cause any problems, but here you
	can decide if it should be done or not.

SHIFTTIME
	The number of minutes to wait between the emulated shift pressings.
	Default is 1.

NOMOUSE
	If specified, then the CGXDPMS will not turn the monitor on when
	the mouse is moved. This only affects CGXDPMS while the monitor is
	not "on".


The DONOTWAIT tooltype in the icon is for the Workbench, when placed in the
Workbench startup drawer.


Todo?
=====

Things that could be added, but I didn't consider to be important at the
moment:

 o CGXDPMS assumes that it is the graphics card of the Workbench screen
   that should be signaled for power saving. Maybe this should be
   configurable (in the form of the name of a public screen), and also
   include support for multiple screens (for those with multiple cards).


Author and other things
=======================

CGXDPMS was written in 1997 by Magnus Holmgren. It is public domain (source
included, though not very well documented ;), so you can do anything you
like with it (although credits would be appriciated ;). Contact address:

Snail mail:

	Magnus Holmgren
	Kvarnbergsvägen 5
	S-444 47  Stenungsund
	SWEDEN

Electronic mail:

	cmh@lls.se
	2:203/512.10@fidonet

	http://www.lls.se/~cmh/


Version history
===============

1.0	May 7, 1997

	Initial release.

1.1	July 27, 1997

	CGXDPMS wouldn't go through all DPMS states, due to a silly bug...

	CX_PRIORITY wasn't properly handled, but since there was no hotkey,
	this shouldn't have caused any problems.

	Added BLANKKEY argument, that makes CGXDPMS go to the "first" DPMS
	mode.

1.2	October 9, 1997

	Gunther Nikl sent me an updated version of the source, and I
	incorporated most of his changes into "my" source. Things changed:

		Error reporting had a couple of quirks.

		Did some small changes, and made it easier to compile with
		GCC (though I did not add all things).

		Need for utility.library removed (the compiler didn't need
		utility where I thought it would ;).

		Compiled for 68020+ (and optimized for 68040), since
		CyberGraphX requires 68020 anyway.


============================= Archive contents =============================

Original  Packed Ratio    Date     Time    Name
-------- ------- ----- --------- --------  -------------
    3428    2090 39.0% 09-Oct-97 21:25:10  CGXDPMS
   14001    4812 65.6% 08-Oct-97 18:08:30  CGXDPMS.c
    3818    1981 48.1% 26-May-97 23:12:16  CGXDPMS.info
    5221    2357 54.8% 09-Oct-97 21:24:04  CGXDPMS.readme
    2114     934 55.8% 18-May-97 11:53:16  CGXDPMS.readme.info
     451     269 40.3% 09-Oct-97 21:24:40  SCOPTIONS
-------- ------- ----- --------- --------
   29033   12443 57.1% 11-Oct-97 04:05:58   6 files
