[comp.windows.x] twm in X11R4

hook@geog.ubc.ca (Chris Hook) (01/11/90)

Hi. Thanks for responding to my appeal on the UNSNET newsgroup 
comp.windows.x . The following are the .twmrc, .xinitrc, and
.Xdefaults that are being read in on the 3/60's. The 3/60's,
by the way, have 8 meg memory, run X using cgfour0, have the
16" Sony Trinitron monitors, have M68881 fpu, and the standard,
old style keyboards. They are running SunOS 4.0, and I built
X11R4 on them using the native cc compiler and GNUcc 1.36. (I
set the HasGcc flag in config/sun.cf).

The new release is a HUGE improvement over X11R3 on the 3/60's
(seems as fast as a sparc now!!!). By the way, I also get those
little cut out glitches on the sparc, buit they seem to go away
if the affected window is covered, moved etc.. The same .??* files
apply, and the machine (a SS1) has 16 meg memory, SunOS 4.0.3c,
and I built X11R4 without Gcc (did not define HasGcc either).
I just used the native cc compiler.

Here they are:
.twmrc

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

 #**********************************************************************
 #
 #    .twmrc
 #
 #**********************************************************************

  WarpCursor
  BorderWidth    2
  TitleFont "8x13"
  MenuFont  "8x13"
  IconFont  "6x10"

  Color
  {
      BorderColor "red"
      BorderTileForeground "blue"
      BorderTileBackground "yellow"
      TitleForeground "snow"
      TitleBackground "darkslateblue"
      MenuForeground "yellow"
      MenuBackground "grey60"
      MenuTitleForeground "red"
      MenuTitleBackground "grey90"
      IconForeground "indianred4"
      IconBackground "lightgrey"
      IconBorderColor "cornflowerblue"
  }

  #Button = KEYS : CONTEXT : FUNCTION
  #----------------------------------
  Button1 =      : root    : f.menu "button1"
  Button2 =      : root    : f.menu "button2"
  Button3 =      : root    : f.menu "button3"
  Button1 =  m   : window  : f.menu "button1"
  Button2 =  m   : window  : f.menu "button2"
  Button3 =  m   : window  : f.menu "button3"
  Button1 =  m   : title   : f.menu "button1"
  Button2 =  m   : title   : f.menu "button2"
  Button3 =  m   : title   : f.menu "button3"
  Button1 =      : title   : f.raise
  Button2 =      : title   : f.move
  # Button3 =      : title   : t.lower

  ForceIcons
  IconDirectory  "/usr/local/icon/X11"
  Icons
  {
    "xterm" "xterm.icon"    # obtained from IconDirectory
  #  "xfd"        "xfd_icon"     # obtained from /usr/include/X11/bitmaps
  }
  #UnknownIcon    "default.icon"

  NoTitle
  {
    "xclock" 
    "oclock"
    "xckmail" 
    "xbiff"
    "xeyes"
    "xload"
  }



  menu "button1"
  {
  "Window Sevices"	  f.title
  "New Window"            !"xterm -T leghorn &"
  "Move Window"           f.move
  "Resize Window"         f.resize
  "Raise Window"          f.raise
  "Lower Window"          f.lower
  "Focus on Root"          f.unfocus
  "Window Focus OFF"       f.unfocus
  "Window Focus ON"       f.focus
  "Vertical Zoom"         f.zoom
  "Full Zoom"             f.fullzoom
  "(De)Iconify"           f.iconify
  "Destroy Window"        f.destroy
  }

  menu "button2"
  {
  "Geog Machines"  f.title
  "penguin"  !"xterm -T penguin -g 80x24+100+100 -e rlogin penguin &"
  "coot"         !"xterm -T coot -g 80x24+100+100 -e rlogin coot &"
  "thatcher"        !"xterm -T thatcher -g 80x24+200+200 -e rlogin thatcher &"
  "kestrel"        !"xterm -T kestrel -g 80x24+200+200 -e rlogin kestrel &"
  "leghorn"        !"xterm -T leghorn -g 80x24-1-1 &"
  "jaeger"         !"xterm -T jaeger -g 80x24+300+340 -e rlogin jaeger &"
  "Ocgy Machines"  f.title
  "nessie"        !"xterm -T nessie -g 80x24+200+200 -e rlogin nessie &"
  "noctiluca"        !"xterm -T noctiluca -g 80x24+250+250 -e rlogin noctiluca &"
  "cod"        !"xterm -T cod -g 80x24+300+300 -e rlogin cod &"
  "coelacanth"  !"xterm -T coelacanth -g 80x24+350+350 -e rlogin coelacanth &"
  "kipper"        !"xterm -T kipper -g 80x24+390+390 -e rlogin kipper &"
  "UBC UCS"  f.title
  "MTSG (tn3270)"  !"xterm -T MTSG -g 85x43 -sf -e tn3270 mtsg &"
  }


  menu "button3"
  {
  "Editors"      f.menu  "editor_ops"
  "Xtools"       f.menu  "xtools_ops"
  "Services"     f.menu  "services_ops"
  "Exit X Windows"     f.quit 
  }
#  These can be reinstalled into menu "button3" if one
#  wishes to be able to toggle between window managers.
#  Remeber, the .twmrc must have
#  twm  >>.xerrs 2>>.xerrs 
#  as the sole last line, else an exec xterm should replace it there
#  and twm should go on an earlier line, and be put in bg.

# "Exit TWM (only)"   f.quit
# "Exit X Windows"    !"kill -TERM $XTOOLSPID"


  menu "editor_ops"
  {
  "emacs"            !"xterm -g 90x50 -sf -e emacs &"
  }

  menu "xtools_ops"
  {
  "Clock"               !"xclock -g 100x100 -bg SlateBlue -fg white -hd red &"
  "Load meter"                !"xload -g 70x100 -bw 0 -bg red -fg NavyBlue &"
  "Man Pages"		!"xman -pagesize 80x40 &"
  "Calculator"                !"xcalc -bg navy -fg white &"
  "Magnifier"                 !"xmag &"
  "Webster's"             f.nop
  "Xcolors"              f.nop
  "Xeyes"                !"xeyes -g 100x100 -bg yellow -fg black &"
  "TeX Viewers"          f.menu "Xviewers_ops"
  }

  menu "Xviewers_ops"
  {
  "TeXx Viewer"          !"texx &"
  "Xdvi Viewer"          !"xdvi &"
  }
  menu "services_ops"
  {
  "Redisplay All"      f.refresh
  "Re-read .twmrc"    f.twmrc
  "Source something"  f.source "something"
  "twm Version"       f.version
  "Lock Screen"       !"xlock -color &"
  }

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


Here's .xinitrc:


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

#!/bin/sh
#xrdb -load $HOME/.Xresources 2>>.xerrs
#mkfontdir /usr/lib/X11/fonts/xview
#xset fp+ /usr/lib/X11/fonts/xview
xset s noblank
xset s 300 12
#xsetroot -mod 2 2 -bg blue -fg palegreen 2>>.xerrs
#xsetroot -bitmap /nfs/leghorn/usr/local/bitmaps/grainy.xbm -bg grey70 -fg mediumblue
xsetroot -bitmap /nfs/leghorn/usr/local/bitmaps/grainy.xbm -bg burlywood -fg lightsteelblue4
xsetroot -cursor /nfs/leghorn/usr/local/bitmaps/bigjet3d-f.xbm /nfs/leghorn/usr/local/bitmaps/bigjet3d-m.xbm -bg yellow
#gwm -f mwm >>.xerrs 2>>.xerrs &
twm >>.xerrs 2>>.xerrs &
#oclock -g 100x100-0+0 -bg aquamarine -fg white -jewel red -bd pink&
xclock -g 100x100+1045+5 -bg midnightblue -fg yellow -hd red &
xload -g 70x100+965+5 -bw 0 -bg red -fg NavyBlue &
xeyes  -g 100x100+852+5 -bg yellow -fg black &
xbiff -g  80x100+759+5 -bg forestgreen -fg indianred4 &
xterm -g 80x30+405+131 -T leghorn -bg grey95 -fg red 2>>.xerrs &
xterm -g 80x24+4+510 -T leghorn -bg steelblue -fg white 2>>.xerrs &
xterm -g 100x45+103+185 -T leghorn -bg grey95 -fg black 2>>.xerrs &
exec xterm -g 90x8+5+5 -C -T CONSOLE -bg white -fg red -fn 6x10 

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


Here's .Xdefaults


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

/* default X Variables */

bitmap*Dashed:	off
xmag*geometry:		-0-0
xmag*borderColor:	white
XTerm*pointerShape:     gumby
XTerm*jumpScroll:	on
XTerm*reverseWrap:	on
XTerm*curses:		on
XTerm*Font:		9x15
XTerm*scrollBar:	on
XTerm*scrollbar*thickness:  15
XTerm*multiClickTime: 	500
XTerm*charClass:	33:48,37:48,45-47:48,64:48
XTerm*cutNewline:	off
XTerm*cutToBeginningOfLine:	off
XTerm*titleInhibit:	on
XTerm*ttyModes:	intr ^c erase ^? kill ^u
XLoad*highlight:	black
XLoad*borderWidth:	0
emacs*Geometry:		80x65-0-0
emacs*Font:		9x15
uwm*borderwidth:	0
uwm*iborderwidth:	0
uwm*mborderwidth:	1

#ifdef COLOR
/* COLOR is defined on color monitors, so add color to the xterms and       */
/* S-PLUS window.							    */

/* COLOR MONITORS */

/* xeyes Resources */

xeyes*foreground      :	yellow
xeyes*background      :	blue

/* clock Resources */

xclock*Foreground     :	white
xclock*background     :	SlateBlue
oclock*Foreground     :	white
oclock*background     :	SlateBlue

/* XLoad Variables */

XLoad*Background:	red
Xload*Foreground:	navy

/* Xterm Variables */

XTerm*cursorColor:      goldenrod
XTerm*Background:       grey90
XTerm*Foreground:       midnightblue
XTerm*borderColor:      indianred4

/* uwm Variables */

uwm*borderColor:	black
uwm*Foreground:		#f00
uwm*Background:		#ede7e2

/* S-PLUS Resources */

/* done declaring for color monitors */
/* must be a black and white monitor  */

#endif

splus*Canvas.width    :	800
splus*Canvas.height   :	632
splus*printGraph*label   : Print Graph
splus*copyGraph*label    : Copy Graph
splus*redraw*label 	 : Redraw Graph
splus*deleteGraph*label  : Delete Graph
splus*psOrient*label 	 : Print Orientation
splus*printMethod*label  : Print Method
splus*postScriptPrintCommand*label : PostScript Print Command
splus*laserJetPrintCommand*label : LaserJet Print Command
splus*printDPI*label     : Print DPI

/* The next resource determines the starting printing method in the window  */
/* A value of 0 sets up the graphics menu with the PostScript method, 1     */
/* start the graphics window menu with HP LaserJet as the print method.	    */
splus*printMethod*state : 0

/* Since the printing commands should get their values from the remote      */
/* machine, you should not declare the printing commands in the database    */
/*	splus*postScriptPrintCommand*value : lpr -h -r			    */
/*	splus*laserJetPrintCommand*value : lpr -Php -h -r		    */

/* The next resource sets the initial resolution of the HP LaserJet plot in */
/* Dots Per Inch.  The values 0,1,2,3 correspond to 75, 100, 150, 300 dots  */
/* per inch respectively 						    */
splus*printDPI*state : 2

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



Finally, do you have any advice on building the X11R4 stuff on tape-2
(i.e., the contrib stuff)? I have it all, but it does not make during
the make World process (I guess its not even included in that make).
The Imakefiles seem to have wanted to have been included in that large
make World event though, as I suppose the contrib Makefiles should
have been rebuilt. I'm hoping that this will not be like X11R3 where
I had to go in and build all contrib stuff with my bare hands (often
changing makefiles and some include files alike).

Thanks for whatever you can tell me,

Chris Hook.

e-mail: hook@geog.ubc.ca