[comp.unix.ultrix] SUMMARY: Replacing the DIGITAL logo on DECwindows/Ultrix

allebrandi@inland.com (Tom Allebrandi) (11/07/90)

A few weeks ago, I said:
>On VMS DECwindows, there is a way to replace the logo that is displayed
>while the session manager is waiting for someone to login. On our VMS
>machines, we display our company logo instead of the |D|I|G|T|A|L.
>
>How do I do this for Ultrix DECwindows? 

You can replace the |D|I|G|I|T|A|L| logo as long as you are running UWS
2.2 or later. Sadly, we are not yet. A potential incompatability with a
third party product is preventing us from upgrading to the latest
versions of Ultrix and the UWS. Soon however.

I would like to thank everyone who replied:
     Frederick M. Avolio <avolio@decuac.DEC.COM>
     Michael van Elst    <mpirbn!p554mve@relay.EU.net>
     Marc Evans          <evans@testmax.pa.dec.com>
     Dirk Grunwald       <grunwald@foobar.Colorado.EDU>
     Steven Parkes       <steven@pacific.csl.uiuc.edu>
     Marcus J. Ranum     <mjr@decuac.DEC.COM>
     S.Petra Zeidler     <mpirbn!p576spz@relay.EU.net>

Most everyone responded with a copy of the following article that
Marc Evans posted last spring.

Thanks again!

--- Tom
Tom Allebrandi             | Mail guru - DECUS UUCP Development Team
Inland Steel Research Labs | Internet:  allebrandi@inland.com
East Chicago, IN           | UUCP:      ...!uunet!inland!allebrandi
219 399 6306               | DECUServe: allebrandi     BIX: ta2


The UWS 2.2 (and therefore, UWS 4.0) version of Xprompter supports
user-specified Display Postscript logos which override the Digital
bitmap.  It is not currently possible to specify X bitmaps which
override the Digital bitmap.

First, I'll list the X resources which affect the prompter logo, then
give some examples of their use, and finally add some general comments
and warnings.


RESOURCES
- ---------

The X resources which control prompter logo behavior are:

	XSessionManager*initializeDPS
	XSessionManager*logoFile
	XSessionManager*logoColor
	XSessionManager*logoBw
	XSessionManager*logoFullScreen
	XSessionManager*logoSaver
	XSessionManager*saverInterval

*initializeDPS

	This indicates whether the prompter initializes the Display Postscript
	(DPS) extension in the server.  This takes noticable time on slower
	machines, and uses colormap cells.  This is necessary in order to use
	a DPS prompter logo.  Defaults to True.

*logoFile

	This specifies the Ultrix filename which contains the postscript for a
	DPS logo.  Defaults to "", which makes the prompter use the standard
	Digital bitmap as a logo.  This resource must be set in order for
	any of the following resources to have any effect.

*logoColor

	The prompter sets the initial color of the DPS context to the X color
	specified by this name before running the DPS logo program, on color
	displays.  Defaults to "MediumBlue."  The DPS logo program may or may
	not use	this information.

*logoBw

	The prompter sets the initial color of the DPS context to the X color
	specified by this name before running the DPS logo program, on black
	& white displays.  Defaults to "White."  The DPS logo program may or
	may not use this information.

*logoFullScreen

	This indicates that the DPS context should be given the entire screen
	area to draw in.  Otherwise, it has only the area above the prompter's
	dialog box.  Defaults to False.

*logoSaver

	This indicates that the DPS program should be used as a screen saver
	(i.e. it actively changes the display).  Instead of using the normal X
	screen saver, the prompter hides its dialog box after a specified idle
	interval (see *saverInterval below).  Defaults to False.

*saverInterval

	Used in conjuction with *logoSaver set to True, this is the number of
	seconds of idleness before the prompter hides its dialog box and
	leaves just the DPS logo dislayed.  Defaults to 300 (five minutes).


EXAMPLES
- --------

The usual place to set these resources is not your .Xdefaults file,
since Xprompter runs as root, which is usually not you.  If you have
your own file system, setting these resources in /.Xdefaults or adding
them to /usr/lib/X11/app-defaults/XSessionManager will work equally
well.  If you share /usr then changing the app-defaults file will
affect all machines sharing /usr, while changing /.Xdefaults will
affect only yourself.

Suppose I had a postscript logo in the file
/udir/mikey/logos/my_logo.ps, and this logo said "Mikey" instead of
"Digital" just above the prompter's dialog box Then, I could add the
following line to /.Xdefaults:

	XSessionManager*logoFile: /udir/mikey/save/logos/my_logo.ps

If I had a logo which drew a box around the entire screen, I would
instead add:

	XSessionManager*logoFile: /udir/mikey/save/logos/box_logo.ps
	XSessionManager*logoFullScreen: true

Finally, if I had an active, full-screen DPS logo which changed the
screen contents continuously and which could act as a screen saver
(with the dialog box staying up for 1 minute), I would instead add:

	XSessionManager*logoFile: /udir/mikey/save/logos/active_logo.ps
	XSessionManager*logoFullScreen: true
	XSessionManager*logoSaver: true
	XSessionManager*saverInterval: 60


COMMENTS/WARNINGS
- -----------------

Your DPS logo program should begin with a blank line or comment, due
to a bug in the prompter code that wasn't discovered until too late.

If your DPS logo program produces any text output, it will be saved in
the file /tmp/Xprompter.PSerr.  This is most useful for determining
why your DPS logo dies when trying to displaying itself.  Note that
this file is cleared the next time Xprompter runs and tries to use a
DPS logo.

The DPS context that your DPS logo program starts up in will have
clippath defined to be the rectangular area just above the prompter
dialog box (if *logoFullScreen is False), or the entire screen area
(if *logoFullScreen is True).  Your program can use this to "center"
itself, if necessary.

If you want to allow the user to change a single color in your logo
display, or if you want to use different colors for color and
monochrome displays, you should probably save the initial state of the
context as the prompter uses setrgbcolor to set the initial color
based on *logoColor or *logoBW and the screen depth.

Since your DPS logo program executes within the DPS context of the
server, you should be careful about what it does.  For instance,
active programs which run continuously should not have memory leaks in
them.  Otherwise, they will cause the server to grow without bound and
ultimately, crash the server.
[end]