diff -rc --new-file xpt-1.11/descrip.mms xpt-1.11.0/descrip.mms
*** xpt-1.11/descrip.mms	1969-12-31 19:00:00.000000000 -0500
--- xpt-1.11.0/descrip.mms	2026-02-22 01:52:29.412687368 -0500
***************
*** 0 ****
--- 1,65 ----
+ # Makefile for VMS
+ 
+ C=.c
+ O=.obj
+ #O=.o
+ E=.exe
+ #E=
+ NAME=xpt
+ V=$(NAME)-1.11.0
+ PROG=$(NAME)$(E)
+ 
+ CC_DEFS =/define=(HAVE_ATHENA,HAVE_LIB_XAW3D,"_X_NORETURN=","PACKAGE_STRING=""$(V)""")/name=(as_is,short)/float=ieee
+ 
+ CXX_DEFS = "-DHAVE_ATHENA" "-DHAVE_LIB_XAW3D" "-D_X_NORETURN"= "-DPACKAGE_STRING"="""$(V)""" -names=as_is
+ 
+ OBJS=-
+ $(NAME)$(O),-
+ init$(O),-
+ Xprogs$(O),-
+ table$(O)
+ 
+ CFLAGS=$(CC_DEFS)
+ 
+ CXXFLAGS=$(CXX_DEFS)
+ 
+ $(C)$(O) :
+ 	cc $(CFLAGS) $(MMS$TARGET_NAME)$(C)
+ 
+ #	clang $(CXXFLAGS) -o $(MMS$TARGET_NAME)$(O) $(MMS$TARGET_NAME)$(C)
+ #	gcc -c $(CPPFLAGS) $(DEFS) $(XWIDGETINC) $(CFLAGS) $<
+ 
+ .first :
+ 	@ define/nolog/job XAW3D SYS$COMMON:[SYSLIB.XAW3D]
+ 
+ all : $(PROG)
+ 	@ directory $(PROG)
+ 
+ $(NAME)$(O) : $(NAME)$(C) $(NAME).h
+ init(O) : init$(C) init.h
+ Xprogs(O) : Xprogs$(C) Xprogs.h
+ table(O) : table$(C) table.h
+ 
+ $(NAME).opt :
+ 	close/nolog optf
+ 	open/write optf $(NAME).opt
+ 	write optf "sys$share:decw$xlibshr/share"
+ 	write optf "sys$share:decw$xtlibshrr5/share"
+ 	write optf "sys$share:decw$xextlibshr/share"
+ #	write optf "sys$share:decw$xmulibshr/share"
+ 	write optf "sys$share:libxmu.exe/share"
+ #	write optf "sys$library:libxmu.olb/lib"
+ #	write optf "sys$library:libxmu_cxx.olb/lib"
+ 	write optf "sys$share:libxaw3d.exe/share"
+ 	close optf
+ 
+ $(PROG) : $(OBJS),$(NAME).opt
+ 	link $(OBJS),$(NAME)/opt
+ 
+ clean :
+ 	close/nolog optf
+ 	purge
+ 	delete *.obj;*,*.opt;*
+ 
+ clobber : clean
+ 	delete *.exe;*
diff -rc --new-file xpt-1.11/init.c xpt-1.11.0/init.c
*** xpt-1.11/init.c	2026-02-22 14:02:13.242606941 -0500
--- xpt-1.11.0/init.c	2026-02-20 22:16:18.243215639 -0500
***************
*** 28,37 ****
    slate_grey = GetColors("slategrey", default_cmap, BP);
  }
  
! unsigned long GetNumColor(num, cmap, def)
! unsigned long num;
! Colormap cmap;
! unsigned long def;
  {
    XColor color;
    unsigned long retval;
--- 28,34 ----
    slate_grey = GetColors("slategrey", default_cmap, BP);
  }
  
! unsigned long GetNumColor(unsigned long num, Colormap cmap, unsigned long def)
  {
    XColor color;
    unsigned long retval;
diff -rc --new-file xpt-1.11/Makefile xpt-1.11.0/Makefile
*** xpt-1.11/Makefile	2026-02-22 14:02:21.810924624 -0500
--- xpt-1.11.0/Makefile	2026-02-22 02:06:28.698090829 -0500
***************
*** 1,7 ****
  OBJS=Xprogs.o init.o table.o xpt.o
! CPPFLAGS=-I/usr/local/include
  LDFLAGS=-L/usr/local/lib
! LIBS=-lX11 -lXt -lXaw
  CFLAGS=-O3 -g
  
  xpt: $(OBJS)
--- 1,16 ----
  OBJS=Xprogs.o init.o table.o xpt.o
! 
! #CPPFLAGS=-DHAVE_ATHENA -DHAVE_LIB_XAW3DXFT -I/usr/local/include 
! CPPFLAGS=-DHAVE_ATHENA -DHAVE_LIB_XAW3D -I/usr/local/include 
! #CPPFLAGS=-DHAVE_ATHENA -DHAVE_LIB_NEXTAW -I/usr/local/include 
! #CPPFLAGS=-DHAVE_ATHENA -DHAVE_LIB_XAWPLUS -I/usr/local/include 
! #CPPFLAGS=-DHAVE_ATHENA -DHAVE_LIB_XAW -I/usr/local/include 
  LDFLAGS=-L/usr/local/lib
! #LIBS=-lX11 -lXt -lXawxft
! LIBS=-lX11 -lXt -lXaw3d
! #LIBS=-lX11 -lXt -lneXtaw
! #LIBS=-lX11 -lXt -lXawplus
! #LIBS=-lX11 -lXt -lXaw
  CFLAGS=-O3 -g
  
  xpt: $(OBJS)
diff -rc --new-file xpt-1.11/Makefile.sunos xpt-1.11.0/Makefile.sunos
*** xpt-1.11/Makefile.sunos	1969-12-31 19:00:00.000000000 -0500
--- xpt-1.11.0/Makefile.sunos	1993-08-05 19:00:44.000000000 -0400
***************
*** 0 ****
--- 1,337 ----
+ # Makefile generated by imake - do not edit!
+ # $XConsortium: imake.c,v 1.65 91/07/25 17:50:17 rws Exp $
+ #
+ # The cpp used on this machine replaces all newlines and multiple tabs and
+ # spaces in a macro expansion with a single space.  Imake tries to compensate
+ # for this, but is not always successful.
+ #
+ 
+ # -------------------------------------------------------------------------
+ # Makefile generated from "Imake.tmpl" and </tmp/IIf.a02615>
+ # $XConsortium: Imake.tmpl,v 1.139 91/09/16 08:52:48 rws Exp $
+ #
+ # Platform-specific parameters may be set in the appropriate <vendor>.cf
+ # configuration files.  Site-specific parameters should be set in the file
+ # site.def.  Full rebuilds are recommended if any parameters are changed.
+ #
+ # If your C preprocessor does not define any unique symbols, you will need
+ # to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
+ # "make World" the first time).
+ #
+ 
+ # -------------------------------------------------------------------------
+ # site-specific configuration parameters that need to come before
+ # the platform-specific parameters - edit site.def to change
+ 
+ # site:  $XConsortium: site.def,v 1.2 91/07/30 20:26:44 rws Exp $
+ 
+ # -------------------------------------------------------------------------
+ # platform-specific configuration parameters - edit sun.cf to change
+ 
+ # platform:  $XConsortium: sun.cf,v 1.72.1.1 92/03/18 13:13:37 rws Exp $
+ 
+ # operating system:  SunOS 4.1.1
+ 
+ # $XConsortium: sunLib.rules,v 1.7 91/12/20 11:19:47 rws Exp $
+ 
+ # -------------------------------------------------------------------------
+ # site-specific configuration parameters that go after
+ # the platform-specific parameters - edit site.def to change
+ 
+ # site:  $XConsortium: site.def,v 1.2 91/07/30 20:26:44 rws Exp $
+ 
+             SHELL = /bin/sh
+ 
+               TOP = .
+       CURRENT_DIR = .
+ 
+                AR = ar clq
+   BOOTSTRAPCFLAGS =
+                CC = cc
+                AS = as
+ 
+          COMPRESS = compress
+               CPP = /lib/cpp $(STD_CPP_DEFINES)
+     PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
+           INSTALL = install
+                LD = ld
+              LINT = lint
+       LINTLIBFLAG = -C
+          LINTOPTS = -axz
+                LN = ln -s
+              MAKE = make
+                MV = mv
+                CP = cp
+ 
+            RANLIB = ranlib
+   RANLIBINSTFLAGS =
+ 
+                RM = rm -f
+             TROFF = psroff
+          MSMACROS = -ms
+               TBL = tbl
+               EQN = eqn
+      STD_INCLUDES =
+   STD_CPP_DEFINES =
+       STD_DEFINES =
+  EXTRA_LOAD_FLAGS =
+   EXTRA_LIBRARIES =
+              TAGS = ctags
+ 
+     SHAREDCODEDEF = -DSHAREDCODE
+          SHLIBDEF = -DSUNSHLIB
+ 
+     PROTO_DEFINES =
+ 
+      INSTPGMFLAGS =
+ 
+      INSTBINFLAGS = -m 0755
+      INSTUIDFLAGS = -m 4755
+      INSTLIBFLAGS = -m 0644
+      INSTINCFLAGS = -m 0444
+      INSTMANFLAGS = -m 0444
+      INSTDATFLAGS = -m 0444
+     INSTKMEMFLAGS = -g kmem -m 2755
+ 
+       PROJECTROOT = /usr/X11R5
+ 
+      TOP_INCLUDES = -I$(INCROOT)
+ 
+       CDEBUGFLAGS = -O
+         CCOPTIONS = -pipe
+ 
+       ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
+        ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(DEFINES)
+            CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
+         LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
+ 
+            LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
+ 
+         LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS) -L$(USRLIBDIR)
+ 
+    LDCOMBINEFLAGS = -X -r
+       DEPENDFLAGS =
+ 
+         MACROFILE = sun.cf
+            RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
+ 
+     IMAKE_DEFINES =
+ 
+          IRULESRC = $(CONFIGDIR)
+         IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
+ 
+      ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
+ 			$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
+ 			$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
+ 
+ # -------------------------------------------------------------------------
+ # X Window System Build Parameters
+ # $XConsortium: Project.tmpl,v 1.138 91/09/10 09:02:12 rws Exp $
+ 
+ # -------------------------------------------------------------------------
+ # X Window System make variables; this need to be coordinated with rules
+ 
+           PATHSEP = /
+         USRLIBDIR = /usr/X11R5/lib
+            BINDIR = /usr/X11R5/bin
+           INCROOT = /usr/X11R5/include
+      BUILDINCROOT = $(TOP)
+       BUILDINCDIR = $(BUILDINCROOT)/X11
+       BUILDINCTOP = ..
+            INCDIR = $(INCROOT)/X11
+            ADMDIR = /usr/adm
+            LIBDIR = $(USRLIBDIR)/X11
+         CONFIGDIR = $(LIBDIR)/config
+        LINTLIBDIR = $(USRLIBDIR)/lint
+ 
+           FONTDIR = $(LIBDIR)/fonts
+          XINITDIR = $(LIBDIR)/xinit
+            XDMDIR = $(LIBDIR)/xdm
+            TWMDIR = $(LIBDIR)/twm
+           MANPATH = /usr/X11R5/man
+     MANSOURCEPATH = $(MANPATH)/man
+         MANSUFFIX = 1
+      LIBMANSUFFIX = 3
+            MANDIR = $(MANSOURCEPATH)$(MANSUFFIX)
+         LIBMANDIR = $(MANSOURCEPATH)$(LIBMANSUFFIX)
+            NLSDIR = $(LIBDIR)/nls
+         PEXAPIDIR = $(LIBDIR)/PEX
+       XAPPLOADDIR = $(LIBDIR)/app-defaults
+        FONTCFLAGS = -t
+ 
+      INSTAPPFLAGS = $(INSTDATFLAGS)
+ 
+             IMAKE = imake
+            DEPEND = makedepend
+               RGB = rgb
+ 
+             FONTC = bdftopcf
+ 
+         MKFONTDIR = mkfontdir
+         MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier
+ 
+         CONFIGSRC = $(TOP)/config
+        DOCUTILSRC = $(TOP)/doc/util
+         CLIENTSRC = $(TOP)/clients
+           DEMOSRC = $(TOP)/demos
+            LIBSRC = $(TOP)/lib
+           FONTSRC = $(TOP)/fonts
+        INCLUDESRC = $(TOP)/X11
+         SERVERSRC = $(TOP)/server
+           UTILSRC = $(TOP)/util
+         SCRIPTSRC = $(UTILSRC)/scripts
+        EXAMPLESRC = $(TOP)/examples
+        CONTRIBSRC = $(TOP)/../contrib
+            DOCSRC = $(TOP)/doc
+            RGBSRC = $(TOP)/rgb
+         DEPENDSRC = $(UTILSRC)/makedepend
+          IMAKESRC = $(CONFIGSRC)
+          XAUTHSRC = $(LIBSRC)/Xau
+           XLIBSRC = $(LIBSRC)/X
+            XMUSRC = $(LIBSRC)/Xmu
+        TOOLKITSRC = $(LIBSRC)/Xt
+        AWIDGETSRC = $(LIBSRC)/Xaw
+        OLDXLIBSRC = $(LIBSRC)/oldX
+       XDMCPLIBSRC = $(LIBSRC)/Xdmcp
+       BDFTOSNFSRC = $(FONTSRC)/bdftosnf
+       BDFTOSNFSRC = $(FONTSRC)/clients/bdftosnf
+       BDFTOPCFSRC = $(FONTSRC)/clients/bdftopcf
+      MKFONTDIRSRC = $(FONTSRC)/clients/mkfontdir
+          FSLIBSRC = $(FONTSRC)/lib/fs
+     FONTSERVERSRC = $(FONTSRC)/server
+      EXTENSIONSRC = $(TOP)/extensions
+          XILIBSRC = $(EXTENSIONSRC)/lib/xinput
+       PHIGSLIBSRC = $(EXTENSIONSRC)/lib/PEX
+ 
+ # $XConsortium: sunLib.tmpl,v 1.14.1.1 92/03/17 14:58:46 rws Exp $
+ 
+ SHLIBLDFLAGS = -assert pure-text
+ PICFLAGS = -pic
+ 
+   DEPEXTENSIONLIB =
+      EXTENSIONLIB = -lXext
+ 
+           DEPXLIB = $(DEPEXTENSIONLIB)
+              XLIB = $(EXTENSIONLIB) -lX11
+ 
+         DEPXMULIB = $(USRLIBDIR)/libXmu.sa.$(SOXMUREV)
+        XMULIBONLY = -lXmu
+            XMULIB = -lXmu
+ 
+        DEPOLDXLIB =
+           OLDXLIB = -loldX
+ 
+       DEPXTOOLLIB = $(USRLIBDIR)/libXt.sa.$(SOXTREV)
+          XTOOLLIB = -lXt
+ 
+         DEPXAWLIB = $(USRLIBDIR)/libXaw.sa.$(SOXAWREV)
+            XAWLIB = -lXaw
+ 
+         DEPXILIB =
+            XILIB = -lXi
+ 
+         SOXLIBREV = 4.10
+           SOXTREV = 4.10
+          SOXAWREV = 5.0
+         SOOLDXREV = 4.10
+          SOXMUREV = 4.10
+         SOXEXTREV = 4.10
+       SOXINPUTREV = 4.10
+ 
+       DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
+          XAUTHLIB =  -lXau
+       DEPXDMCPLIB = $(USRLIBDIR)/libXdmcp.a
+          XDMCPLIB =  -lXdmcp
+ 
+         DEPPHIGSLIB = $(USRLIBDIR)/libphigs.a
+            PHIGSLIB =  -lphigs
+ 
+        DEPXBSDLIB = $(USRLIBDIR)/libXbsd.a
+           XBSDLIB =  -lXbsd
+ 
+  LINTEXTENSIONLIB = $(LINTLIBDIR)/llib-lXext.ln
+          LINTXLIB = $(LINTLIBDIR)/llib-lX11.ln
+           LINTXMU = $(LINTLIBDIR)/llib-lXmu.ln
+         LINTXTOOL = $(LINTLIBDIR)/llib-lXt.ln
+           LINTXAW = $(LINTLIBDIR)/llib-lXaw.ln
+            LINTXI = $(LINTLIBDIR)/llib-lXi.ln
+         LINTPHIGS = $(LINTLIBDIR)/llib-lphigs.ln
+ 
+           DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
+ 
+          DEPLIBS1 = $(DEPLIBS)
+          DEPLIBS2 = $(DEPLIBS)
+          DEPLIBS3 = $(DEPLIBS)
+ 
+ # -------------------------------------------------------------------------
+ # Imake rules for building libraries, programs, scripts, and data files
+ # rules:  $XConsortium: Imake.rules,v 1.123 91/09/16 20:12:16 rws Exp $
+ 
+ # -------------------------------------------------------------------------
+ # start of Imakefile
+ 
+ # @(#)Imakefile 23.7 91/06/11
+ # Imakefile - xlock
+ #
+ TARGETS = xpt
+ 
+ SRCS = xpt.c init.c Xprogs.c table.c
+ 
+ OBJS = xpt.o init.o Xprogs.o table.o
+ 
+ LCL_LIB = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+ DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
+ SYS_LIBRARIES = -lm
+ 
+ all:: $(TARGETS)
+ 
+ $(TARGETS):  $(OBJS)  $(DEPLIBS)
+ 	$(RM) $@
+ 	$(CC) -o $@  $(OBJS) $(LDOPTIONS)  $(LCL_LIB) $(LDLIBS)  $(SYS_LIB) $(EXTRA_LOAD_FLAGS)
+ 
+ clean::
+ 	$(RM) $(TARGETS)
+ 
+ depend::
+ 	$(DEPEND) $(DEPENDFLAGS) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS)
+ 
+ # -------------------------------------------------------------------------
+ # common rules for all Makefiles - do not edit
+ 
+ emptyrule::
+ 
+ clean::
+ 	$(RM_CMD) "#"*
+ 
+ Makefile::
+ 	-@if [ -f Makefile ]; then set -x; \
+ 	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
+ 	else exit 0; fi
+ 	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
+ 
+ tags::
+ 	$(TAGS) -w *.[ch]
+ 	$(TAGS) -xw *.[ch] > TAGS
+ 
+ saber:
+ 	# load $(ALLDEFINES) $(SRCS)
+ 
+ osaber:
+ 	# load $(ALLDEFINES) $(OBJS)
+ 
+ # -------------------------------------------------------------------------
+ # empty rules for directories that do not have SUBDIRS - do not edit
+ 
+ install::
+ 	@echo "install in $(CURRENT_DIR) done"
+ 
+ install.man::
+ 	@echo "install.man in $(CURRENT_DIR) done"
+ 
+ Makefiles::
+ 
+ includes::
+ 
+ # -------------------------------------------------------------------------
+ # dependencies generated by makedepend
+ 
diff -rc --new-file xpt-1.11/README.md xpt-1.11.0/README.md
*** xpt-1.11/README.md	2026-02-22 13:58:15.521924600 -0500
--- xpt-1.11.0/README.md	2026-02-22 14:37:44.263435876 -0500
***************
*** 1,15 ****
  Preview:
! xpt is an ancient X11 program written by Joel P. Lord back in the early 90's.
! 
! Around the time the Earth was still cooling, maybe in 1993 or 1994, I hacked the xpt source code to add a line of information that showed the ground state electronic structure of each element, because at that time that sort of information was still important to me.
! 
! xpt has long ago vanished from any web sites I can find, and you can only find dead links to information about it.
! 
! I dusted off the source code today and made it compile again with a modern compiler. It had rotted somewhat, because modern compilers are more sticklers for passing correct types, and ints are no longer equivalent to pointers.
! 
! I did away with the Imakefile, because I can't for the life of me make it work anymore, and the program is far too simple to need such overkill. I replaced it with a simple Makefile that can be hand edited in the one or two places where it might be needed (mostly CPPFLAGS, LDFLAGS, CFLAGS).
! 
! You must have Athena widgets installed (libXaw) as well as X11 development libraries and headers.
  
  Code:
  xpt is an ancient X11 program written by Joel P. Lord back in the
--- 1,20 ----
  Preview:
! Xpt was an ancient X11 application to display a periodic table with
! clickable elements.  Years ago I hacked it to show the electronic
! structure in addition to the standard data it originally had.
! 
! Since then, the C standard has changed and this program no longer
! compiled properly -- or rather, it compiled but then segfaulted
! because of numerous missing prototypes led to incorrect default use of
! integers where non-integers (notably, pointers) were supposed to be.
! 
! This commit cleans the program up just barely enough to make it work.
! There are still some warnings, but it works, and I want to preserve
! the state.
! 
! I have done away with the wholly unnecessary Imakefile, and replaced
! it with a simple Makefile.  There are very few knobs to twiddle, and
! Imake was overkill.  Plus, it didn't work anymore on my system.
  
  Code:
  xpt is an ancient X11 program written by Joel P. Lord back in the
diff -rc --new-file xpt-1.11/README_xpt_fixes.txt xpt-1.11.0/README_xpt_fixes.txt
*** xpt-1.11/README_xpt_fixes.txt	1969-12-31 19:00:00.000000000 -0500
--- xpt-1.11.0/README_xpt_fixes.txt	2026-02-22 16:58:15.815626534 -0500
***************
*** 0 ****
--- 1,14 ----
+ bagleyd AT verizon.net added this to xpt-1.11.0
+ This version has tvrusso's improvements (most notably "Valence Electrons"
+   have been added) to the the original code from Joel P. Lord see
+   README.md with work from J. Jansen for OpenVMS.
+ 1. Fixed some annoying warnings and K&R C prototyping.
+ 2. Fixed where each line after Hydrogen was being overlayed slightly by 5
+   pixels.
+ 3. I think it looks better using Xaw3d a common variant of Xaw so changed
+   the default to that for Unix.
+ 4. Fixed OpenVMS stack dump if clicking twice on help button.  Linux did
+   not seem to mind the double XDestroy but fixed there too.
+ 
+ Let me know if you find the data should be updated or if more recently
+ created elements should be added.
diff -rc --new-file xpt-1.11/table.c xpt-1.11.0/table.c
*** xpt-1.11/table.c	2026-02-22 14:00:53.315657788 -0500
--- xpt-1.11.0/table.c	2026-02-22 16:58:02.787508405 -0500
***************
*** 14,20 ****
--- 14,34 ----
  
  #include <stdlib.h>
  #include "xpt.h"
+ #ifdef HAVE_LIB_XAW3DXFT
+ #include <X11/Xaw3dxft/AsciiText.h>
+ #elif defined(HAVE_LIB_XAW3D)
+ #ifdef __VMS
+ #include <Xaw3d/AsciiText.h>
+ #else
+ #include <X11/Xaw3d/AsciiText.h>
+ #endif
+ #elif defined(HAVE_LIB_NEXTAW)
+ #include <X11/neXtaw/AsciiText.h>
+ #elif defined(HAVE_LIB_XAWPLUS)
+ #include <X11/XawPlus/AsciiText.h>
+ #elif defined(HAVE_ATHENA) /* HAVE_LIB_XAW */
  #include <X11/Xaw/AsciiText.h>
+ #endif
  #include "table.h"
  
  void init_table()
***************
*** 71,88 ****
  	    {
  	      elements[k] = XtCreateWidget(title, commandWidgetClass,
  					   MainW, args, n);
! 	      XtAddCallback(elements[k], XtNcallback, element_choice, k);
  	      XtRealizeWidget(elements[k]);
  	      XtManageChild(elements[k]);
  	      k++;
- 	      horiz_offset += 26;
- 	      XtSetArg(args[2], XtNhorizDistance, horiz_offset);
- 	    }
- 	  else
- 	    {
- 	      horiz_offset += 26;
- 	      XtSetArg(args[2], XtNhorizDistance, horiz_offset);
  	    }
  	}
        horiz_offset = 0;
        XtSetArg(args[0], XtNfromHoriz, NULL);
--- 85,101 ----
  	    {
  	      elements[k] = XtCreateWidget(title, commandWidgetClass,
  					   MainW, args, n);
! 	      XtAddCallback(elements[k], XtNcallback,
! 				           (XtCallbackProc) element_choice,
! 				           (XtPointer) ((size_t) k));
  	      XtRealizeWidget(elements[k]);
  	      XtManageChild(elements[k]);
  	      k++;
  	    }
+ 	  horiz_offset += 26;
+ 	  if (j > 0 && i == 0)
+ 	    horiz_offset += 5;
+ 	  XtSetArg(args[2], XtNhorizDistance, horiz_offset);
  	}
        horiz_offset = 0;
        XtSetArg(args[0], XtNfromHoriz, NULL);
***************
*** 172,188 ****
    free(data_buf);
  }
  
! void ok(w, client_data, call_data)
! Widget w;
! XtPointer client_data, call_data;
  {
    destroy_info = 1;
  }
  
! void quit(w, client_data, call_data)
! Widget w;
! XtPointer client_data;
! XtPointer call_data;
  {
    done = 1;
  }
--- 185,196 ----
    free(data_buf);
  }
  
! void ok(Widget w, XtPointer client_data, XtPointer call_data)
  {
    destroy_info = 1;
  }
  
! void quit(Widget w, XtPointer client_data, XtPointer call_data)
  {
    done = 1;
  }
***************
*** 190,198 ****
  static unsigned destroy_help = 1;
  static Widget help_window;
  
! void help(w, client_data, call_data)
! Widget w;
! XtPointer client_data, call_data;
  {
    if (!destroy_help)
      {
--- 198,204 ----
  static unsigned destroy_help = 1;
  static Widget help_window;
  
! void help(Widget w, XtPointer client_data, XtPointer call_data)
  {
    if (!destroy_help)
      {
***************
*** 224,231 ****
  	  if(theEvent.type == Expose)
  	    display_help(help_window);
  	}
!       XtDestroyWidget(help_window);
!       destroy_help = 1;
      }
  }
  
--- 230,240 ----
  	  if(theEvent.type == Expose)
  	    display_help(help_window);
  	}
!       if (!destroy_help)
!       	{
! 	  XtDestroyWidget(help_window);
! 	  destroy_help = 1;
! 	}
      }
  }
  
diff -rc --new-file xpt-1.11/Xprogs.c xpt-1.11.0/Xprogs.c
*** xpt-1.11/Xprogs.c	2026-02-22 14:02:43.075714237 -0500
--- xpt-1.11.0/Xprogs.c	2026-02-20 21:01:16.433399393 -0500
***************
*** 55,61 ****
    return tempfont;
  }
  
! GC CreateGC(Window wind, XFontStruct *fntstruct, unsigned long fgpix, unsigned long bgpix)
  {
    XGCValues gcv;
  
--- 55,62 ----
    return tempfont;
  }
  
! GC CreateGC(Window wind, XFontStruct *fntstruct,
!   unsigned long fgpix, unsigned long bgpix)
  {
    XGCValues gcv;
  
diff -rc --new-file xpt-1.11/Xprogs.h xpt-1.11.0/Xprogs.h
*** xpt-1.11/Xprogs.h	2026-02-22 13:58:56.535401860 -0500
--- xpt-1.11.0/Xprogs.h	2026-02-20 21:28:12.352738499 -0500
***************
*** 12,17 ****
--- 12,20 ----
  #include <string.h>
  #include <X11/Xlib.h>
  #include <X11/Xutil.h>
+ #ifdef __VMS
+ #include <X11/Intrinsic.h>
+ #endif
  #include <X11/Xresource.h>
  #include <X11/cursorfont.h>
  #include <X11/keysym.h>
***************
*** 49,55 ****
  XFontStruct *mfontstruct;
  unsigned mfontheight;
  Display *p_disp;
! Window Main;
  GC theGC;
  XEvent theEvent;
  char default_geometry[80];
--- 52,58 ----
  XFontStruct *mfontstruct;
  unsigned mfontheight;
  Display *p_disp;
! Window mainwin;
  GC theGC;
  XEvent theEvent;
  char default_geometry[80];
***************
*** 61,67 ****
  extern XFontStruct *mfontstruct;
  extern unsigned mfontheight;
  extern Display *p_disp;
! extern Window Main;
  extern GC theGC;
  extern XEvent theEvent;
  extern char default_geometry[80];
--- 64,70 ----
  extern XFontStruct *mfontstruct;
  extern unsigned mfontheight;
  extern Display *p_disp;
! extern Window mainwin;
  extern GC theGC;
  extern XEvent theEvent;
  extern char default_geometry[80];
***************
*** 71,74 ****
  #endif
  unsigned long GetColors(char *name, Colormap cmap, unsigned long def);
  XFontStruct *GetFont(char *fname);
! GC CreateGC(Window wind, XFontStruct *fntstruct, unsigned long fgpix, unsigned long bgpix);
--- 74,78 ----
  #endif
  unsigned long GetColors(char *name, Colormap cmap, unsigned long def);
  XFontStruct *GetFont(char *fname);
! GC CreateGC(Window wind, XFontStruct *fntstruct,
!   unsigned long fgpix, unsigned long bgpix);
Binary files xpt-1.11/xpt and xpt-1.11.0/xpt differ
diff -rc --new-file xpt-1.11/xpt.h xpt-1.11.0/xpt.h
*** xpt-1.11/xpt.h	2026-02-22 14:01:51.817813831 -0500
--- xpt-1.11.0/xpt.h	2026-02-22 01:39:37.349118799 -0500
***************
*** 14,23 ****
  
  #include <X11/Intrinsic.h>
  #include <X11/StringDefs.h>
  #include <X11/Xaw/XawInit.h>
  #include <X11/Xaw/Simple.h>
  #include <X11/Xaw/Command.h>
- #include <X11/extensions/Xext.h>
  #include <X11/Xaw/Command.h>
  #include <X11/Xaw/Box.h>
  #include <X11/Xaw/Form.h>
--- 14,85 ----
  
  #include <X11/Intrinsic.h>
  #include <X11/StringDefs.h>
+ #ifdef __VMS
+ #include <X11/Xext.h>
+ #else
+ #include <X11/extensions/Xext.h>
+ #endif
+ #ifdef HAVE_LIB_XAW3DXFT
+ #include <X11/Xaw3dxft/XawInit.h>
+ #include <X11/Xaw3dxft/Simple.h>
+ #include <X11/Xaw3dxft/Command.h>
+ #include <X11/Xaw3dxft/Command.h>
+ #include <X11/Xaw3dxft/Box.h>
+ #include <X11/Xaw3dxft/Form.h>
+ #include <X11/Xaw3dxft/Dialog.h>
+ #include <X11/Xaw3dxft/Scrollbar.h>
+ #include <X11/Xaw3dxft/List.h>
+ #include <X11/Xaw3dxft/Label.h>
+ #elif defined(HAVE_LIB_XAW3D)
+ #ifdef __VMS
+ #include <Xaw3d/XawInit.h>
+ #include <Xaw3d/Simple.h>
+ #include <Xaw3d/Command.h>
+ #include <Xaw3d/Command.h>
+ #include <Xaw3d/Box.h>
+ #include <Xaw3d/Form.h>
+ #include <Xaw3d/Dialog.h>
+ #include <Xaw3d/Scrollbar.h>
+ #include <Xaw3d/List.h>
+ #include <Xaw3d/Label.h>
+ #else
+ #include <X11/Xaw3d/XawInit.h>
+ #include <X11/Xaw3d/Simple.h>
+ #include <X11/Xaw3d/Command.h>
+ #include <X11/Xaw3d/Command.h>
+ #include <X11/Xaw3d/Box.h>
+ #include <X11/Xaw3d/Form.h>
+ #include <X11/Xaw3d/Dialog.h>
+ #include <X11/Xaw3d/Scrollbar.h>
+ #include <X11/Xaw3d/List.h>
+ #include <X11/Xaw3d/Label.h>
+ #endif
+ #elif defined(HAVE_LIB_NEXTAW)
+ #include <X11/neXtaw/XawInit.h>
+ #include <X11/neXtaw/Simple.h>
+ #include <X11/neXtaw/Command.h>
+ #include <X11/neXtaw/Command.h>
+ #include <X11/neXtaw/Box.h>
+ #include <X11/neXtaw/Form.h>
+ #include <X11/neXtaw/Dialog.h>
+ #include <X11/neXtaw/Scrollbar.h>
+ #include <X11/neXtaw/List.h>
+ #include <X11/neXtaw/Label.h>
+ #elif defined(HAVE_LIB_XAWPLUS)
+ #include <X11/XawPlus/XawInit.h>
+ #include <X11/XawPlus/Simple.h>
+ #include <X11/XawPlus/Command.h>
+ #include <X11/XawPlus/Command.h>
+ #include <X11/XawPlus/Box.h>
+ #include <X11/XawPlus/Form.h>
+ #include <X11/XawPlus/Dialog.h>
+ #include <X11/XawPlus/Scrollbar.h>
+ #include <X11/XawPlus/List.h>
+ #include <X11/XawPlus/Label.h>
+ #elif defined(HAVE_ATHENA) /* HAVE_LIB_XAW */
  #include <X11/Xaw/XawInit.h>
  #include <X11/Xaw/Simple.h>
  #include <X11/Xaw/Command.h>
  #include <X11/Xaw/Command.h>
  #include <X11/Xaw/Box.h>
  #include <X11/Xaw/Form.h>
***************
*** 25,30 ****
--- 87,93 ----
  #include <X11/Xaw/Scrollbar.h>
  #include <X11/Xaw/List.h>
  #include <X11/Xaw/Label.h>
+ #endif
  #include "Xprogs.h"
  #include "fontlist.h"
  #include "version.h"
***************
*** 40,46 ****
    double	density;
    double	atomic_volume;
    char		name[14];
!   char          valence[256];
  };
  
  #ifdef MAIN
--- 103,109 ----
    double	density;
    double	atomic_volume;
    char		name[14];
!   char		valence[256];
  };
  
  #ifdef MAIN
***************
*** 52,58 ****
  XFontStruct *BigFont;
  GC BigGC;
  
! struct element_stats p_table[]= {
  0.79, 0.32,   1, 1.00794    , "H  ", 20.268, 14.025 , 0.0899 , 14.4 ,
    "Hydrogen     ","1s1 ",
  0.49, 0.93,   2, 4.002602   , "He ", 4.215 , 0.95   , 0.1787 , 0.0  ,
--- 115,121 ----
  XFontStruct *BigFont;
  GC BigGC;
  
! struct element_stats p_table[] = {
  0.79, 0.32,   1, 1.00794    , "H  ", 20.268, 14.025 , 0.0899 , 14.4 ,
    "Hydrogen     ","1s1 ",
  0.49, 0.93,   2, 4.002602   , "He ", 4.215 , 0.95   , 0.1787 , 0.0  ,
Binary files xpt-1.11/xpt_screenshot.png and xpt-1.11.0/xpt_screenshot.png differ
