#!/bin/sh
#-----------------------------------------------------------------------
#;  Copyright (C) 1995-1997, 1999, 2003, 2006, 2009, 2012, 2022
#;  Associated Universities, Inc. Washington DC, USA.
#;
#;  This program is free software; you can redistribute it and/or
#;  modify it under the terms of the GNU General Public License as
#;  published by the Free Software Foundation; either version 2 of
#;  the License, or (at your option) any later version.
#;
#;  This program is distributed in the hope that it will be useful,
#;  but WITHOUT ANY WARRANTY; without even the implied warranty of
#;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#;  GNU General Public License for more details.
#;
#;  You should have received a copy of the GNU General Public
#;  License along with this program; if not, write to the Free
#;  Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,
#;  MA 02139, USA.
#;
#;  Correspondence concerning AIPS should be addressed as follows:
#;         Internet email: aipsmail@nrao.edu.
#;         Postal address: AIPS Project Office
#;                         National Radio Astronomy Observatory
#;                         520 Edgemont Road
#;                         Charlottesville, VA 22903-2475 USA
#-----------------------------------------------------------------------
# Usage: TVALT
#-----------------------------------------------------------------------
# Shell script to determine windowing system currently running.
# Echoes result on standard output.  Can be:
#
#     TVALT00:  No known windowing system found running
#     TVALT01:  SunView (for compatibility with ATNF)
#     TVALT02:  OpenWindows
#     TVALT03:  Other X11 (includes Motif, X11R4-X11R6, XFree86, etc.)
#     TVALT04:  Hardwired TV's.
#
# This script will probably get the right windowing system on Suns
# (SunOS 3-5), IBM RS/6000 (AIX), HP 9000/7xx (HP-UX), PCs (Linux),
# DecStations (Ultrix), and DEC Alphas (Digital UNIX, nee OSF/1).  For
# other architectures, it will need work.  "ps axc" gets the program
# name (no directory or args).
#-----------------------------------------------------------------------
#                                       Set the AIPS root directory.
AIPS_ROOT=/DEFINE_ME
#
# do not change anything below this line.  NO DEBUG ECHOs HERE!!!!
#
export AIPS_ROOT
if [ ! -d $AIPS_ROOT ] ; then
  echo 'AIPS_ROOT is not correctly defined in the TVALT script.  Help!'
  exit 2
fi
#                                       Find out who and what I am
. $AIPS_ROOT/HOSTS.SH
if [ "$ARCH" = SUN3 -o "$ARCH" = SUN4 -o "$ARCH" = SUN4BIG ] ; then
#                                       look for xnews (openwindows)
      if ps acx | grep " xnews$" >/dev/null 2>/dev/null ; then
         echo "TVALT02"
#                                       look for X11 server (generic)
      elif ps acx | grep " Xsun$" >/dev/null 2>/dev/null ; then
	 echo "TVALT03"
#                                       look for SunView
      elif ps acx | grep " sunview$" >/dev/null 2>/dev/null ; then
	 echo "TVALT01"
#                                       No windowing system
      else
	 echo "TVALT00"
      fi
elif [ "$ARCH" = SOL -o "$ARCH" = SOL86 -o "$ARCH" = SUL ] ; then
#                                       look for xnews (openwindows)
      if ps -af | grep " xnews$" >/dev/null 2>/dev/null ; then
         echo "TVALT02"
#                                       look for X11 server (generic)
      elif ps -af | grep " Xsun$" >/dev/null 2>/dev/null ; then
	 echo "TVALT03"
#                                       look for SunView.  Can this be?
      elif ps -af | grep " sunview$" >/dev/null 2>/dev/null ; then
	 echo "TVALT01"
#                                       No windowing system
      else
	 echo "TVALT00"
      fi
elif [ "$ARCH" = IBM ] ; then
#                                       look for X11 server
      if ps acx | grep " X$" >/dev/null 2>/dev/null ; then
	 echo "TVALT03"
#                                               No windows
      else
	 echo "TVALT00"
      fi
elif [ "$ARCH" = HP -o "$ARCH" = HP2 ] ; then
#                                       Look for X11 server
      if ps -e | grep " X$" >/dev/null 2>/dev/null ; then
         echo "TVALT03"
      else
         echo "TVALT00"
      fi
elif [ "$ARCH" = DEC ] ; then
#                                       Look for XColFrameBuf server
      if ps acx | grep  " Xcfb$" >/dev/null 2>/dev/null ; then
	 echo "TVALT03"
#                                       This for Ultrix 4.3...
      elif ps acx | grep " Xws$" >/dev/null 2>/dev/null ; then
         echo "TVALT03"
#                                       No windows
      else
	 echo "TVALT00"
      fi
elif [ "$ARCH" = ALPHA ] ; then
#                                       Look for X server
      if ps -e -o comm | grep '^/usr/bin/X11/X' >/dev/null 2>/dev/null ; then
	 echo "TVALT03"
#                                       No windows
      else
	 echo "TVALT00"
      fi
elif [ "$ARCH" = LINUX ] ; then
#                                       Look for X server
      if ps acx 2>/dev/null | grep X$ >/dev/null 2>/dev/null ; then
         echo "TVALT03"
      else
         echo "TVALT00"
      fi
elif [ "$ARCH" = LNX64 ] ; then
#                                       Look for X server
      if ps acx 2>/dev/null | grep X$ >/dev/null 2>/dev/null ; then
         echo "TVALT03"
      else
         echo "TVALT00"
      fi
elif [ "$ARCH" = MACPPC ] ; then
#                                       Look for X server
      if ps acx 2>/dev/null | grep X11$ >/dev/null 2>/dev/null ; then
         echo "TVALT03"
      else
         echo "TVALT00"
      fi
elif [ "$ARCH" = MACINT ] ; then
#                                       Look for X server
      if ps acx 2>/dev/null | grep X11$ >/dev/null 2>/dev/null ; then
         echo "TVALT03"
      else
         echo "TVALT00"
      fi
elif [ "$ARCH" = MACARM ] ; then
#                                       Look for X server
      if ps acx 2>/dev/null | grep X11$ >/dev/null 2>/dev/null ; then
         echo "TVALT03"
      else
         echo "TVALT00"
      fi
else
      echo "TVALT00"
fi
