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]