Hello!

The OpenVMS support for XBanner is not complete. It does not include any of
the options that require XBanner to linger around after program completion.
Therefore linger, color-cycling and glints are not supported. For more
detailed information, see below.

For now, I see no practical way to support this. The C library function
vfork() works like SPAWN/WAIT which is no good. And there is no way I know
of to duplicate the functionality of Unix fork() properly. If you have an
idea - let me know.

I have supplied two versions of the XPM library. This is actually Linux's
libXpm-3.4g which I have compiled for VAX (VAX_XPM.OLB) and for Alpha
(AXP_XPM.OLB). The MAKEFILE_VMS.COM command procedure asks you which
one you want to use. Also, when compiling, please copy the included xpm.h
to the same directory you are compiling XBanner in (usually [-] from this
directory). If you are having problems, you can download the libXpm from
ftp://sunsite.unc.edu/pub/Linux/libs/X/libXpm-3.4g.tar.gz, find a Unix
machine with GZip to open the archive and create the lib. I have also
attached a small command procedure which creates the lib: MAKEFILE_XPM.COM
Don't worry about compilation warnings in SIMX.C !

The supplied MAKEFILE_VMS.COM should be enough to compile and run. This has
been tested and used on a VAXstation 4000-60, running OpenVMS V6.2 with Motif
1.2-3 installed. Motif is *NOT* used, but the X11 libraries and include
files are needed. I have also recently been able to get it to compile on a
Alpha AXP system (DEC-3000) running OpenVMS 6.2 or 7.0. Both versions probably
require DEC-C.

A note about large fonts. I can help provide .BDF sources for any fonts you
might like, as long as they are part of the X11R6 distribution from the
X-Consortium (read : they are freely available), or from the FreeFonts
package.

How to compile / run
====================

To compile simply type:

  @MAKEFILE_VMS

and answer the question about your platform (VAX / AXP).

After that, you need to define a foreign command like this:

  $ xbanner := $device:[directory]xbanner.exe

Now you can start playing around with different command-line options. Start
with 'xbanner -help' for a detailed list.

In order to install it instead of your regular login screen, you need to do
the following:

1. Create a command procedure 'XBANNER.COM' which will define the foreign
   command as above, and run it. I think you'll need the -file <filename>
   option. The XBANNER.COM file should be placed in SYS$MANAGER:
2. Edit SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COM (there is a template file
   named DECW$PRIVATE_APPS_SETUP.TEMPLATE if you don't have it), and add
   a line like this:
     $ DEC$LOGINLOGO == "SYS$MANAGER:XBANNER.COM"

That ought to do it.

Some things to remember:
========================
1. The Demo is a UNIX shell script, so it won't run on OpenVMS. And anyway, it
   requires fonts which are usually not available on OpenVMS hosts.
2. Using different symbols as different foreign commands to run XBanner in
   order to use resources like 'xbanner.label' and 'xbanner2.label' will
   not work. XBanner can only refer to the real name of the binary that
   is executing it. You will have to copy XBanner to a different name.
3. The app-defaults file is : DECW$SYSTEM_DEFAULTS:<PRGCLASS>.DAT !
   PRGCLASS is defined in xb_config.h
4. XBanner will look for XBANNER.DAT in the users directory as the
   equivalent of UNIX's .Xdefaults resource file.
5. XBanner will also read DECW$XDEFAULTS.DAT
6. I have seen some anomaly in XBanner's drawing of the Fan BG-Style in
   OpenVMS, and I didn't check it out yet.
7. Don't forget to add a foreign command for freetemp, and have it called
   from within SYLOGIN.COM !
8. When an error occurs, XBanner exits with status = 1, which means you get
   '%NONAME-W-NOMSG, Message number 00000001' - this is normal!

I hope you'll enjoy XBanner.

	Amit

==============================================================================

Why XBanner for OpenVMS does not support linger/color-cycling/glint:
----------------------------------------------------------------------------
The only way to linger after program execution stops is by creating a
detached process. But this means having to do most initializations again.
OpenVMS simply doesn't have a real fork() functionality function. This is a
very impeding factor, which I am not sure I want to contest with.
   