system@aurum.chem.utoronto.ca (System Admin (Mike Peterson)) (01/07/91)
In response to many requests for this,
here is an updated text of my talk at the 1990 ADUS meeting on UNIX "Dot"
files. New stuff is mainly for 'mwm' (Motif), but some other minor
improvements have been done (Korn shell stuff now present too).
It is formatted for 66 lines per page.
Note that this file includes exact copies of the "dot" files in use on
our Apollo systems, but I have numbered the lines. Also, some lines are
too long, so they have been split (AFTER numbering, so the split pieces
do not have a line number - simply join them back together). All split
lines were split at a blank/tab, so make sure a blank separates the
rejoined pieces. Then remove the line numbers from the section of this
file. We are a BSD-only installation, so you may have problems with
SYS5 sites due to missing commands or commands with different
arguments. All our systems are at SR10.2 (plus multitudes of patches).
This stuff should be in the reference manuals for the Apollo (and other
vendors too), but it isn't. This was all discovered by scrounging on
other UNIX systems, lots of trial and error on the Apollo, talking to
the Apollo Hotline people, and reading this newsgroup. Enjoy, and please
tell me about any other good stuff you have found!
----- cut here ----- cut here ----- cut here -----
DOMAIN/OS UNIX "DOT" FILES
Mike Peterson
Department of Chemistry
University of Toronto
80 St. George St.
Toronto, Ontario, Canada M5S 1A1
system@alchemy.chem.utoronto.ca
UNIX dot files - 1 - January 7, 1991
Introduction
The UNIX "dot" files are essential for creating and maintaining
the environment each user wants to have whenever they login to
the system. In our department, default versions of all the
necessary and useful "dot" files are automatically created in
each user's home directory as part of the account creation
script. They may then modify the files to their heart's content
(at their own risk!).
Normally you can not see the special files used by many Unix pro-
grams, as they all start with a '.'. However, the ls '-a' option
will display them for you.
Here is a quick overview of the files that are "required" for a
BSD UNIX C shell user of X Windows:
'.cshrc': executed for every C shell the user runs.
'.login': executed for every C shell login.
'.logout': executed when the user logs out from a C shell.
'.mailrc': customizations for electronic mail.
'.mwmrc': customizations for X Windows 'mwm' window manager.
'.uwmrc': customizations for X Windows 'uwm' window manager.
'.Xresources': customizations for X Windows "clients".
'.xinitrc': executed to start X Windows "clients".
'.xmodmaprc': customizations for the X Windows keyboard.
'.xserverrc': executed to start X Windows Apollo "server".
In addition, this file is "required" for a Bourne/Korn shell
user:
'.profile': executed for every Bourne/Korn shell login.
While not strictly a "dot" file, this file is also supplied, both
to serve as a template for user customization and to get around
severe bugs in Apollo's version of 'make':
'Makefile': used by 'make'.
Note that '.cshrc', '.login' and '.profile' actually "source" (or
call) master files to do most of their work. If a user elim-
inates the "source" statement that calls the master files, they
will not automatically get their environment updated when the
master files are changed.
UNIX dot files - 2 - January 7, 1991
.cshrc
By default, the user's .cshrc file is set to:
1 #
2 # .cshrc file - run for every C shell started.
3 # Version: 1990/10/14.
4 #
5 # Do the /usr/local/Master.cshrc file stuff first.
6 # Look there first to see what is being set automatically
7 # before making lots of additions here.
8 #
9 source /usr/local/Master.cshrc
10 #
11 # Optional (user-selectable) parameters - remove the '#' to
activate.
12 #
13 #set noclobber # activate to avoid overwriting files
14 #alias rm rm -i # activate to confirm each file
deletion
15 #setenv LIBDIR ~/lib # set user-supplied library directory
16 #
17 # Set the environment variables necessary for running Gaussian88.
18 # Remove the '#' from the 'if ... endif' block to activate.
19 #
20 #if (-f /g88/setup_g88.csh) then
21 # source /g88/setup_g88.csh
22 #endif
The '/usr/local/Master.cshrc' file contains:
1 #
2 # Master.cshrc file - run for every C shell started.
3 # Version: 1990/12/17.
4 #
5 # Set default path.
6 #
7 set path = (/usr/ucb /bin /usr/bin /usr/bin/X11 /usr/local/bin
/usr/apollo/bin /etc ~/bin)
8 set host = `hostname`
9 #
10 # Add /ws/tapeat/stubs to start of default path on alchemy only.
11 #
12 if ($host == alchemy) then
13 set path = (/ws/tapeat/stubs $path)
14 endif
15 #
16 # Enable access to the Cray Remote Satellite Software for Unix
17 # systems for alchemy only.
18 #
19 if ($host == alchemy) then
20 if (-e //alchemy/u0/craystn/cls_ux.csh) then
21 source //alchemy/u0/craystn/cls_ux.csh
22 endif
23 endif
24 #
UNIX dot files - 3 - January 7, 1991
.cshrc
25 # Put the current directory last.
26 #
27 set path = ($path .)
28 #
29 # Set default directory search path.
30 #
31 set cdpath = (. .. $HOME)
32 #
33 # Prompt generator.
34 #
35 if ($?prompt) then
36 alias prompt 'set noglob;\
37 set prompt = `dirs`;\
38 set prompt = "${host}:${prompt[1]}> ";\
39 unset noglob'
40 alias popd 'popd *; prompt'
41 alias pushd 'pushd *; prompt'
42 alias cd 'cd *; prompt'
43 prompt # make it appear as the first prompt
44 endif
45 #
46 # Set the default floating point option $FLOAT based on the node
type
47 # and node name.
48 #
49 if ($NODETYPE == DN10000) then
50 setenv FLOAT '-A cpu,a88k'
51 else if ($host == todah) then
52 setenv FLOAT '-A cpu,fpa1 -W0,-frnd'
53 else
54 setenv FLOAT '-A cpu,3000 -W0,-frnd'
55 endif
56 #
57 # Set the default printer name.
58 #
59 setenv PRINTER 'imagen'
60 #
61 # Set the default X Windows server name.
62 #
63 setenv DISPLAY "${host}:0"
64 #
65 # man paging program default (user-selectable).
66 #
67 if (-f /usr/local/bin/less) then
68 setenv PAGER '/usr/local/bin/less'
69 endif
70 #
71 # vi default options (user-selectable).
72 #
73 setenv EDITOR '/usr/ucb/vi'
74 setenv VISUAL '/usr/ucb/vi'
75 setenv EXINIT 'set ts=8 sw=8 autoindent redraw ignorecase wm=8'
76 #
77 # User-modifiable parameters:
UNIX dot files - 4 - January 7, 1991
.cshrc
78 # Users may change values of these parameters by re-issuing a "set
..."
79 # with the desired value, or "unset ..." to clear a "set"
completely.
80 #
81 set history = 100 # number of commands kept in history buffer
82 set ignoreeof # activate to prevent logout by ^D
83 set notify # activate for immediate job completion
notification
84 umask 022 # file protection mask: owner:rwx group:r-x
other:r-x
85 alias h history # allow 'h' for 'history'
86 alias pd pushd # allow 'pd' for 'pushd'
87 setenv MORE -cds # default options for 'more'
88 if ("`tty`" != "/dev/display") then
89 alias page less # normally make 'page' default to 'less'
90 else
91 alias page vt100 less # for Apollo displays, make 'page'
default to 'vt100 less'
92 alias less vt100 less # for Apollo displays, make 'less'
default to 'vt100 less'
93 alias more vt100 more # for Apollo displays, make 'more'
default to 'vt100 more' (temp bug fix)
94 alias vi vt100 vi # for Apollo displays, make 'vi'
default to 'vt100 vi' (temp bug fix)
95 endif
96 setenv LESS '-ceMqsPM?f%f .?n?m(file %i of %m) ..?ltline %lt :byte
%bB?s/%s ..?e(END) ?x- Next %x.:?pB%pB..%t [h for help]'
# default 'less' options
97 alias dviimp dviimp -b # make dviimp print TeX/LaTeX in
proper page order
98 #
99 # Useful stuff for X Windows:
100 #
101 # Use 'newsize' after re-sizing an xterm window.
102 # Use 'seltek' to convert an xterm from vt102 to Tektronix mode.
103 # Use 'selvt' to convert an xterm from Tektronix to vt102 mode.
104 # Use 'LO' to logout from an Apollo display.
105 # Set "tandem" and "tostop" modes for xterms (in case ~/.login
not read).
106 #
107 if ("$term" == "xterm") then
108 alias newsize 'set noglob; eval `/usr/bin/X11/resize`; unset
noglob'
109 alias seltek '(echo -n "E[?38h" | tr E \033)' # temp bug fix
110 alias selvt '(echo -n "EC" | tr EC \033\003)' # temp bug fix
111 alias LO 'dmwin xdmc lo'
112 stty tandem tostop
113 endif
114 #
115 # USENET news stuff - note that Apollo uses $ORGANIZATION as
part of
116 # their person.group.organization, but the following redefinition
for
UNIX dot files - 5 - January 7, 1991
.cshrc
117 # news seems to cause no trouble.
118 #
119 setenv ORGANIZATION "University of Toronto Chemistry Department"
120 setenv RNINIT "-e -m -S -/" # default options for rn.
Line 7: '.' is near the end of the path to avoid Trojan Horses;
'~/bin' puts each users private 'bin' directory on their path.
Lines 32-44: put current directory into the prompt.
Lines 45-55: set proper floating point environment variable for
each node (used by the 'Makefile').
Lines 109-110: run in a subshell since C shell built-in commands
fail in pipelines as of SR10.2/SR10.2.p.
UNIX dot files - 6 - January 7, 1991
.login
By default, the user's .login file is set to:
1 #
2 # .login file - run for every C shell interactive login.
3 # Version: 1988/11/25.
4 #
5 # Do the /usr/local/Master.login file stuff first.
6 # Look there first to see what is being set automatically
7 # before making lots of additions here.
8 #
9 # Set terminal type - the user may insert their favorite terminal
type
10 # on the line after 'set favterm ='.
11 #
12 set favterm = 914
13 source /usr/local/Master.login
14 unset favterm
15 #
16 # Optional (user-selectable) parameters and commands.
17 #
18 uptime
The '/usr/local/Master.login' file contains:
1 #
2 # Master.login file - run for every C shell interactive login.
3 # Version: 1990/05/12.
4 #
5 # This script is used with an optional variable 'favterm' which is
the
6 # users favorite terminal type (assume 'vt100' if not given).
7 #
8 if ("$?favterm" == "0") set favterm = vt100
9 #
10 # Set terminal characteristics - change rprnt from ^R to ^_ to
allow
11 # redraw in vi.
12 # Also set the speed to 9600 since telnetd doesn't get the proper
speed.
13 # Only do this for pseudo-tty's to avoid lots of problems.
14 #
15 stty -tabs erase ^H kill ^U intr ^C rprnt ^_ crt tostop rows 0
columns 0
16 set device = "`tty`"
17 egrep -s 'ttyp|ttyq|ttyr|ttys' <<EOF
18 $device
19 EOF
20 if ( "$status" == "0" ) then
21 stty 9600
22 endif
23 unset device
24 #
25 # Set terminal type and get $TERMCAP.
26 # An extra 'stty -tabs' is required due to a problem in tset.
UNIX dot files - 7 - January 7, 1991
.login
27 # Ignore all this stuff for an Apollo display.
28 # Handle xterms specially (force the proper window size).
29 #
30 if ("$term" != "apollo" && "$term" != "apollo_1280_color" &&
"$term" != "apollo_15_color") then
31 set noglob
32 if ("$term" == "su") set term = $favterm
33 set term = (`tset -Q -I -S ?$term`)
34 setenv TERMCAP $term[2]
35 set term = $term[1]
36 stty -tabs
37 unset noglob
38 if ("$term" == "xterm") then
39 if (-f /usr/bin/X11/resize) then
40 set noglob
41 eval `/usr/bin/X11/resize`
42 unset noglob
43 else
44 echo "*** Trouble: no X11 'resize' for xterm - setting 24/80
***"
45 stty rows 24 columns 80
46 endif
47 endif
48 endif
49 #
50 # Check to see if a system save is in progress on either this node
or
51 # the users "home" node - if so, ask the user if they really want
to login.
52 #
53 if (-e /usr/local/SAVEINPROGRESS) then
54 echo " "
55 echo "******************************************"
56 echo "A system save is in progress on this node."
57 echo "******************************************"
58 echo " "
59 echo -n "Do you really want to login (reply 'y'<CR> if yes) ? "
60 set response = $<
61 echo " "
62 if ("$response" != "y") then
63 echo "Congratulations on an excellent choice \!\!\!"
64 sleep 2
65 logout
66 endif
67 echo "Login permitted, but I hope you don't regret your choice
\!\!\!"
68 echo " "
69 unset response
70 else if ("$HOME" != "/") then
71 if (-e $HOME/../../usr/local/SAVEINPROGRESS) then
72 echo " "
73 echo "***********************************************"
74 echo "A system save is in progress on your home node."
75 echo "***********************************************"
UNIX dot files - 8 - January 7, 1991
.login
76 echo " "
77 echo -n "Do you really want to login (reply 'y'<CR> if yes)
? "
78 set response = $<
79 echo " "
80 if ("$response" != "y") then
81 echo "Congratulations on an excellent choice \!\!\!"
82 sleep 2
83 logout
84 endif
85 echo "Login permitted, but I hope you don't regret your
choice \!\!\!"
86 echo " "
87 unset response
88 endif
89 endif
90 #
91 # Other useful stuff.
92 #
93 mesg y
94 msgs -f
95 #
96 # Optional (user-selectable) parameters and commands.
97 #
98 biff y
99 set mail=(60 /usr/spool/mail/$USER)
100 cd
Lines 16-23: set speed to 9600 and window size for telnet/rlogin
sessions that don't propagate either properly (Apollo bug).
Lines 30-48: get users terminal type, set TERMCAP environment
variable for faster startup of screen-oriented programs, and set
proper window size for 'xterm' rlogins.
Lines 53-89: warn the user if a user-file backup is in progress
on either the login node or their home directory node.
UNIX dot files - 9 - January 7, 1991
.logout
By default, the user's .logout file is set to:
1 #
2 # .logout file - run for every C shell interactive logout.
3 # Version: 1988/09/07.
4 #
5 # Optional (user-selectable) parameters and commands.
6 #
7 clear
8 /usr/games/fortune
9 echo " "
10 date
UNIX dot files - 10 - January 7, 1991
.mailrc
By default, the user's .mailrc file is set to:
1 #
2 # .mailrc file - user configuration file for mail.
3 # Version: 1988/09/06.
4 #
5 # Optional (user-selectable) parameters and commands.
6 #
7 # Add mail aliases here, for example:
8 # alias myfriends tom dick harry sally@spot.physics
9 #
The '/usr/lib/Mail.rc' file contains:
1 #
2 # Mail.rc file - system-wide configuration file for mail.
3 # Version: 1989/10/06.
4 #
5 set EDITOR=/usr/ucb/ex
6 set PAGER=/usr/local/bin/less
7 set SHELL=/bin/csh
8 set VISUAL=/usr/ucb/vi
9 set append
10 set ask
11 set askcc
12 set autoprint
13 set crt=20
14 set folder=MAIL
15 set metoo
16 ignore apparently-to errors-to id in-reply-to \
17 message-id precedence received references remailed-date \
18 remailed-from sent-by status via
UNIX dot files - 11 - January 7, 1991
.profile
By default, the user's .profile file is set to:
1 #
2 # .profile file - run for every Bourne shell started.
3 # Version: 1989/12/19.
4 #
5 # Do the /usr/local/Master.profile file stuff first.
6 # Look there first to see what is being set automatically
7 # before making lots of additions here.
8 #
9 # Set terminal type - the user may insert their favorite terminal
type
10 # on the line after 'favterm='.
11 #
12 favterm=914
13 . /usr/local/Master.profile
14 #
15 # Optional (user-selectable) parameters - remove the '#' to
activate.
16 #
17 #LIBDIR="$HOME/lib" # set user-supplied library directory
18 #export LIBDIR # pass LIBDIR to subsequent shells
19 #
20 # Put all the Korn shell stuff here, even if it should logically
21 # go with other stuff above.
22 #
23 if [ "$SHELL" = "/bin/ksh" ]; then
24 # alias -x rm="rm -i" # activate to confirm each file
deletion
25 fi
26 #
27 # Set the environment variables necessary for running Gaussian88.
28 # Remove the '#' from the 'if ... fi' block to activate.
29 #
30 #if [ -f /g88/setup_g88.sh ]; then
31 # . /g88/setup_g88.sh
32 #fi
33 #
34 # Optional (user-selectable) parameters and commands.
35 #
36 uptime
Lines 19-25: if the current shell is the Korn shell, allow the
user to put aliases here.
The '/usr/local/Master.profile' file contains:
1 #
2 # Master.profile file - run for every Bourne shell login started.
3 # Version: 1990/12/17.
4 #
5 # Set default path.
6 #
7 PATH="/usr/ucb:/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:
UNIX dot files - 12 - January 7, 1991
.profile
/usr/apollo/bin:/etc:$HOME/bin"
8 host=`hostname`
9 #
10 # Add /ws/tapeat/stubs to start of default path on alchemy only.
11 #
12 if [ "$host" = "alchemy" ]; then
13 PATH="/ws/tapeat/stubs:$PATH"
14 fi
15 #
16 # Enable access to the Cray Remote Satellite Software for Unix
17 # systems for alchemy only.
18 #
19 if [ $host = "alchemy" ]; then
20 if [ -f //alchemy/u0/craystn/cls_ux.sh ]; then
21 . //alchemy/u0/craystn/cls_ux.sh
22 fi
23 fi
24 #
25 # Put the current directory last.
26 #
27 PATH="$PATH:."
28 export PATH
29 #
30 MAIL=/usr/mail/$USER
31 export MAIL
32 #
33 # Prompt generator.
34 #
35 PS1="${host}"
36 PS2="> "
37 export PS1 PS2
38 #
39 # Set the default floating point option $FLOAT based on the node
type
40 # and node name.
41 #
42 if [ $NODETYPE = "DN10000" ]; then
43 FLOAT='-A cpu,a88k'
44 elif [ $host = todah ]; then
45 FLOAT='-A cpu,fpa1 -W0,-frnd'
46 else
47 FLOAT='-A cpu,3000 -W0,-frnd'
48 fi
49 export FLOAT
50 #
51 # Set default printer name.
52 #
53 PRINTER='imagen'
54 export PRINTER
55 #
56 # Set the default X Windows server name.
57 #
58 DISPLAY=${host}:0
59 export DISPLAY
UNIX dot files - 13 - January 7, 1991
.profile
60 #
61 # User-modifiable parameters:
62 #
63 umask 022 # file protection mask: owner:rwx group:r-x other:r-x
64 #
65 # This script is used with an optional variable 'favterm' which
is the
66 # users favorite terminal type (assume '914' if not given).
67 #
68 favterm="${favterm=914}"
69 #
70 # Set terminal characteristics - change rprnt from ^R to ^_ to
allow
71 # redraw in vi.
72 # Also set the speed to 9600 since telnetd doesn't get the proper
speed.
73 # Only do this for pseudo-tty's to avoid lots of trouble.
74 #
75 stty -tabs erase H kill U intr C rprnt _ crt tostop rows 0
columns 0
76 device="`tty`"
77 egrep -s 'ttyp|ttyq|ttyr|ttys' <<EOF
78 $device
79 EOF
80 if [ "$?" = "0" ]; then
81 stty 9600
82 fi
83 #
84 # Set terminal type and get $TERMCAP.
85 # An extra 'stty -tabs' is required due to a problem in tset.
86 #
87 if [ "$TERM" != "apollo" -a "$TERM" != "apollo_1280_color" -a
"$TERM" != "apollo_15_color" ]; then
88 if [ "$TERM" = "su" ]; then
89 TERM="$favterm"
90 fi
91 eval `tset -Q -I -S ?$TERM`
92 stty -tabs
93 fi
94 #
95 # Check to see if a system save is in progress on either the
users "home"
96 # node or this node - if so, ask the user if they really want to
login.
97 #
98 if [ -f /usr/local/SAVEINPROGRESS ]; then
99 echo " "
100 echo "******************************************"
101 echo "A system save is in progress on this node."
102 echo "******************************************"
103 echo " "
104 echo -n "Do you really want to login (reply 'y'<CR> if yes) ? "
105 read response
106 echo " "
UNIX dot files - 14 - January 7, 1991
.profile
107 if [ "$response" != "y" ]; then
108 echo "Congratulations on an excellent choice !!!"
109 sleep 2
110 logout
111 fi
112 echo "Login permitted, but I hope you don't regret your choice
!!!"
113 echo " "
114 elif [ "$HOME" != "/" ]; then
115 if [ -f $HOME/../../usr/local/SAVEINPROGRESS ]; then
116 echo " "
117 echo "***********************************************"
118 echo "A system save is in progress on your home node."
119 echo "***********************************************"
120 echo " "
121 echo -n "Do you really want to login (reply 'y'<CR> if yes)
? "
122 read response
123 echo " "
124 if [ "$response" != "y" ]; then
125 echo "Congratulations on an excellent choice !!!"
126 sleep 2
127 logout
128 fi
129 echo "Login permitted, but I hope you don't regret your
choice !!!"
130 echo " "
131 fi
132 fi
133 #
134 # man paging program default (user-selectable).
135 #
136 if [ -f /usr/local/bin/less ]; then
137 PAGER='/usr/local/bin/less'
138 export PAGER
139 fi
140 #
141 # vi default options (user-selectable).
142 #
143 EDITOR='/usr/ucb/vi'
144 VISUAL='/usr/ucb/vi'
145 EXINIT='set ts=8 sw=8 autoindent redraw ignorecase wm=8'
146 export EDITOR VISUAL EXINIT
147 #
148 # Other useful stuff.
149 #
150 mesg y
151 msgs -f
152 #
153 # Optional (user-selectable) parameters and commands.
154 #
155 biff y
156 MORE='-cds'
157 export MORE
UNIX dot files - 15 - January 7, 1991
.profile
158 LESS='-ceMqsPM?f%f .?n?m(file %i of %m) ..?ltline %lt :byte
%bB?s/%s ..?e(END) ?x- Next %x.:?pB%pB..%t [h for help]'
159 export LESS
160 #
161 # USENET news stuff - note that Apollo uses $ORGANIZATION as
part of
162 # their person.group.organization, but the following redefinition
for
163 # news seems to cause no trouble.
164 #
165 ORGANIZATION='University of Toronto Chemistry Department'
166 RNINIT='-e -m -S -/' # default options for rn.
167 export ORGANIZATION RNINIT
168 #
169 # Put all the Korn shell stuff here, even if it should logically
170 # go with other stuff above.
171 #
172 if [ "$SHELL" = "/bin/ksh" ]; then
173 #
174 # Set default directory search path.
175 #
176 CDPATH=".:..:$HOME"
177 export CDPATH
178 #
179 # Prompt generator.
180 #
181 PS1=${host}:'${PWD}'
182 export PS1
183 #
184 # Set default history editor.
185 #
186 set vi
187 FCEDIT=/usr/ucb/vi
188 export FCEDIT
189 #
190 # Mail parameters.
191 #
192 MAILCHECK=60 # check mail every 60 seconds
193 MAILPATH=/usr/spool/mail/${USER}
194 export MAILCHECK MAILPATH
195 #
196 # User-modifiable parameters:
197 # Users may change values of these parameters by re-issuing a
"set ..."
198 # with the desired value, or "unset ..." to clear a "set"
completely.
199 #
200 HISTSIZE=100 # number of commands kept in history
buffer
201 export HISTSIZE
202 set ignoreeof # activate to prevent logout by ^D
203 alias -x h="fc -l" # allow 'h' for 'history'
204 alias -x page=less # normally make 'page' default to
'less'
UNIX dot files - 16 - January 7, 1991
.profile
205 alias -x dviimp="dviimp -b" # make dviimp print TeX/LaTeX
in proper page order
206 #
207 # Useful stuff for X Windows:
208 #
209 # Use 'newsize' after re-sizing an xterm window.
210 # Use 'seltek' to convert an xterm from vt102 to Tektronix mode.
211 # Use 'selvt' to convert an xterm from Tektronix to vt102 mode.
212 # Use 'LO' to logout from an Apollo display.
213 # Set "tandem" and "tostop" modes for xterms (in case ~/.login
not read).
214 #
215 if [ "$TERM" = "xterm" ]; then
216 alias -x newsize='set noglob; eval `/usr/bin/X11/resize`;
unset noglob'
217 alias -x seltek='(echo -n "E[?38h" | tr E \033)'
# temp bug fix
218 alias -x selvt='(echo -n "EC" | tr EC \033\003)'
# temp bug fix
219 alias -x LO='dmwin xdmc lo'
220 stty tandem tostop
221 fi
222 #
223 # Execute ~/.logout when the user exits the shell.
224 #
225 trap ". $HOME/.logout ; exit" EXIT
226 fi
227 #
228 cd
These files do as much of the '.cshrc' and '.login' stuff as can
be done in a Bourne shell.
Lines 168-226: Extra stuff for the Korn shell only.
UNIX dot files - 17 - January 7, 1991
Makefile
By default, the user's Makefile file is set to:
1 #
2 # Makefile file - used for C and/or Fortran compilations.
3 # Version: 1990/05/03.
4 #
5 # This Makefile expects an environment variable $FLOAT, which
should
6 # be set in your ~/.cshrc or ~/.profile file to the appropriate
string
7 # to activate any desired floating point options that need to be
passed
8 # to the compilers. On the Apollo, the valid possibilities are:
9 # $FLOAT = '-A cpu,3000' - compile for any 680x0-based node.
10 # $FLOAT = '-A cpu,fpa1' - compile for a 680x0+fpa node.
11 # $FLOAT = '-A cpu,a88k' - compile for any PRISM-based node.
12 # You may want to incorporate the above option into any
user-written
13 # Makefiles (via CFLAGS/FFLAGS below) to take maximum advantage
14 # of the system you use.
15 #
16 # Expected naming conventions:
17 # *.a - archive files.
18 # *.c - C source files.
19 # *.e - Efl source files.
20 # *.f - Fortran source files.
21 # *.h - Header (include) source files.
22 # *.l - Lex source files.
23 # *.o - object files.
24 # *.r - Ratfor source files.
25 # *.s - Assembler source files.
26 # *.y - Yacc-C source files.
27 # * - executable files (no suffix).
28 #
29 # Set desired default options here:
30 # $(CFLAGS): C compilation options.
31 # $(FFLAGS): Fortran compilation options.
32 # $(PFLAGS): Pascal compilation options.
33 # $(LFLAGS): Lex options.
34 # $(MFLAGS): Command line options.
35 # $(YFLAGS): Yacc options.
36 # $(LDFLAGS): Loader options.
37 #
38 # Activate the following for debugging of your code (add -C to the
39 # FFLAGS for subscript checking at execution time):
40 #
41 CFLAGS = -g $$FLOAT
42 FFLAGS = -g $$FLOAT
43 #
44 # Activate the following for optimization of your code (make sure
45 # your code works properly with no optimization first):
46 #
47 #CFLAGS = -O $$FLOAT
48 #FFLAGS = -O $$FLOAT
UNIX dot files - 18 - January 7, 1991
Makefile
49 #
50 # Activate the following for super-optimization of your code (make
sure
51 # your code works properly with no optimization first, and don't
use
52 # this for code to be put into libraries since the compiler will
in-line
53 # your subroutines):
54 #
55 #CFLAGS = -W0,'-opt,4' $$FLOAT
56 #FFLAGS = -W0,'-opt 4' $$FLOAT
57 #
58 # You can set ld flags here, or add to the list of libraries (put
other
59 # system libraries ahead of -luttcs):
60 #
61 LDFLAGS = -luttcs -lutchem
62 #
63 # Activate the following line if you have personal libraries, and
have
64 # defined the environment variable $LIBDIR to point to the
directory
65 # that contains them (e.g. "~/lib"). Put your libraries ahead of
66 # -luttcs in the form '-lname':
67 #
68 #LDFLAGS = -L$$LIBDIR -luttcs -lutchem
69 #
70 # Supply correct '.c' rule:
71 #
72 .c:
73 $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
74 #
75 # Supply correct '.f' rule:
76 #
77 .f:
78 -f77 $(FFLAGS) $< -o $@ $(LDFLAGS)
79 -rm -f $*.o
80 #
81 # Default action: do nothing.
82 #
83 nothing:
84 @echo "No make target specified - nothing made."
85 @echo "Usage: make foo"
86 @echo "or make 'CFLAGS=... %%FLOAT' foo"
87 @echo "or make 'FFLAGS=... %%FLOAT' foo"
88 @echo "where the '%' are replaced by '$$'."
89 #
90 # Clean *.o and core files from the current directory.
91 # Usage: make clean.
92 #
93 clean:
94 -rm -f *.o core
Note that the first character of each command line of a "rule"
UNIX dot files - 19 - January 7, 1991
Makefile
after a "dependency" declaration must start with a <TAB> charac-
ter, else it will be ignored.
To avoid using extensions that may mean something to some Unix
utilities, one possibility is to use:
foo < foo.in >& foo.out [&]
as very few Unix utilities use more than 1 character extensions.
In our department, the Makefile expects an environment variable
"$FLOAT" to be set to the appropriate string to compile for the
floating point option(s) on the system the user is LOGGED INTO
(NOT the system their files are actually located on !!). They may
change $FLOAT to compile for another system architecture (e.g.
compile for the DSP10020 on a DN4500 or vice versa), but they may
also have to change/set the environment variable "$ISP", which
has 2 possibilities: "a88k" for the DSP10020, and "m68k" for all
other systems. Users must make sure both the $FLOAT and $ISP
variables are set correctly for the target system.
Their Makefile has an option "clean" (invoked as "make clean")
that will delete all object files in their current working direc-
tory (i.e. it does a 'rm *.o').
Note that correct '.c' and '.f' rules are supplied to directly
compile C and FORTRAN source files to executables - the default
'make' rules for this are broken in SR10.x and SR10.x.p
(x=0,1,2).
UNIX dot files - 20 - January 7, 1991
.xinitrc
This file is not present in each user's home directory unless
they want to make customizations; instead the
'/usr/local/Master.xinitrc' file is used:
1 #! /bin/sh
2 #
3 # Master.xinitrc - X Windows client start-up script for Apollo
systems.
4 # Version: 1990/11/06.
5 #
6 # Normally this is invoked by 'startx &' or 'xinit &', which may
be
7 # run automatically at login on the display, or run manually
8 # from the first login window on the display.
9 #
10 # Unless the client returns immediately, all commands should be
11 # run in the background.
12 #
13 # In the following, 'alchemy' is a 1024x800 color DN10000,
14 # 'aurum' is a 1280x1024 monochrome DN2500,
15 # 'todah' is a 1024x800 color DN4500,
16 # 'aqua' and 'terra' are 1280x1024 color DN580s.
17 #
18 # Find out what node we are running on.
19 #
20 host=`hostname`
21 #
22 # Load X default specifications, if any (RECOMMENDED).
23 #
24 if [ -r $HOME/.Xresources ]; then
25 xrdb -load $HOME/.Xresources >/dev/null 2>&1
26 elif [ -r /usr/local/Master.Xresources ]; then
27 xrdb -load /usr/local/Master.Xresources >/dev/null 2>&1
28 fi
29 #
30 # Reset the keyboard to clear any previous settings (RECOMMENDED).
31 #
32 kbm -r
33 #
34 # Set the keyboard so that all keys repeat (OPTIONAL).
35 #
36 kbm -A alpha,default
37 #
38 # Set the keyboard so that F0 and the Alt keys work as "Meta"
(RECOMMENDED).
39 #
40 if [ -r $HOME/.xmodmaprc ]; then
41 xmodmap $HOME/.xmodmaprc >/dev/null 2>&1
42 elif [ -r /usr/local/Master.xmodmaprc ]; then
43 xmodmap /usr/local/Master.xmodmaprc >/dev/null 2>&1
44 fi
45 #
46 # Add the X11R2 fonts to the font path (OPTIONAL).
47 #
UNIX dot files - 21 - January 7, 1991
.xinitrc
48 xset fp+ /usr/lib/X11/fonts/oldx11/ >/dev/null 2>&1
49 #
50 # Start a window manager (RECOMMENDED).
51 # Precedence is:
52 # 1) if $HOME/.mwmrc exists, start mwm.
53 # 2) if $HOME/.uwmrc exists, start uwm with that configuration
file.
54 # 3) if /usr/local/Master.mwmrc exists, start mwm.
55 # 4) if /usr/local/Master.uwmrc exists, start uwm with that
configuration file.
56 # 5) start mwm with no configuration file.
57 # 6) start uwm with no configuration file.
58 # 7) give up - hope the user starts one manually.
59 # In all cases involving mwm, the 'Mwm*configFile' property will
60 # actually be used to get the name of the configuration file,
61 # so we will assume that it is set correctly.
62 #
63 if [ -r $HOME/.mwmrc -a -r /usr/bin/X11/mwm ]; then
64 mwm >/dev/null 2>&1 &
65 elif [ -r $HOME/.uwmrc -a -r /usr/bin/X11/uwm ]; then
66 uwm -f $HOME/.uwmrc >/dev/null 2>&1 &
67 elif [ -r /usr/local/Master.mwmrc -a -r /usr/bin/X11/mwm ]; then
68 mwm >/dev/null 2>&1 &
69 elif [ -r /usr/local/Master.uwmrc -a -r /usr/bin/X11/uwm ]; then
70 uwm -f /usr/local/Master.uwmrc >/dev/null 2>&1 &
71 elif [ -r /usr/bin/X11/mwm ]; then
72 mwm >/dev/null 2>&1 &
73 elif [ -r /usr/bin/X11/uwm ]; then
74 uwm >/dev/null 2>&1 &
75 fi
76 #
77 # Start the clock (OPTIONAL).
78 #
79 if [ "$host" != "terra" -a "$host" != "aqua" ]; then
80 xclock >/dev/null 2>&1 &
81 fi
82 #
83 # Start the mail notifier (OPTIONAL).
84 #
85 if [ "$host" != "terra" -a "$host" != "aqua" ]; then
86 xbiff >/dev/null 2>&1 &
87 fi
88 #
89 # Start the man page viewer (OPTIONAL).
90 #
91 if [ "$host" != "terra" -a "$host" != "aqua" ]; then
92 xman >/dev/null 2>&1 &
93 fi
94 #
95 # Set the root window colour/bitmap (pick one of the following)
(OPTIONAL).
96 # Look in '/usr/include/X11/bitmaps' for other possibilities.
97 # Note: backgrounds with little/no pattern seem better for mwm.
98 #
UNIX dot files - 22 - January 7, 1991
.xinitrc
99 if [ "$host" != "aurum" ]; then
100 xsetroot -bitmap /usr/include/X11/bitmaps/gray >/dev/null 2>&1
101 else
102 xsetroot -bitmap /usr/include/X11/bitmaps/root_weave >/dev/null
2>&1
103 fi
104 #
105 # Start the load average display (OPTIONAL).
106 #
107 if [ "$host" = "aurum" ]; then
108 xload >/dev/null 2>&1 &
109 fi
110 #
111 # Start the eyes (OPTIONAL).
112 #
113 if [ "$host" = "aurum" ]; then
114 xeyes >/dev/null 2>&1 &
115 fi
116 #
117 # Start a terminal emulator - simulate a login (RECOMMENDED).
118 #
119 if [ "$host" = "alchemy" -o "$host" = "todah" ]; then
120 xterm -geometry 80x50+0+0 -e /sys/dm/login_sh >/dev/null 2>&1 &
121 else
122 xterm -geometry 80x60+0+0 -e /sys/dm/login_sh >/dev/null 2>&1 &
123 fi
124 #
125 # Wait for the clients to finish (CRITICAL).
126 #
127 wait
128 #
129 exit 0
In the above, the script checks for an appropriately named confi-
guration file in the user's home directory first, then in
'/usr/local' for a master copy.
On certain nodes ('terra' and 'aqua' in the above are DN580's),
only the minimum set of clients is started, since logging in with
X Windows already takes more than 5 minutes.
UNIX dot files - 23 - January 7, 1991
.xserverrc
This file is not present in each user's home directory unless
they want to make customizations; instead the
'/usr/local/Master.xserverrc' file is used:
1 #! /bin/sh
2 #
3 # Master.xserverrc - X Windows server start-up script for Apollo
systems.
4 # Version: 1990/05/31.
5 #
6 # Normally this is invoked by 'startx &' or 'xinit &', which may be
7 # run automatically at login on the display, or run manually
8 # from the first login window on the display.
9 #
10 # Since the Xapollo server is normally started at boot time,
11 # just have this script hang forever.
12 #
13
14 while true
15 do
16 sleep 360000
17 done
18
19 exit 0
UNIX dot files - 24 - January 7, 1991
.Xresources
This file is not present in each user's home directory unless
they want to make customizations; instead the
'/usr/local/Master.Xresources' file is used:
1 !
2 ! Master.Xresources - X Windows xrdb configuration file for Apollo
systems.
3 ! Version: 1990/12/14.
4 !
5 ! Set default font depending on the display tupe.
6 !
7 #if (defined COLOR && WIDTH == 1280)
8 #define DEFAULT_FONT *-courier-bold-r*-140-*
9 #define DEFAULT_BOLDFONT *-courier-medium-r*-140-*
10 #else
11 #define DEFAULT_FONT 9x15
12 #define DEFAULT_BOLDFONT 9x15
13 #endif
14 !
15 ! Template for xrdb resources definitions:
16 !
17 ! Set x? characteristics:
18 !
19 !X?*Geometry: 100x100+0+0
20 !#ifdef COLOR
21 !X?*Background: White
22 !X?*Foreground: Black
23 !X?*BorderColor: Blue
24 !#endif
25 !X?*borderWidth: 2
26 !
27 ! Set xbiff characteristics:
28 !
29 #if (WIDTH == 1280)
30 XBiff*Geometry: 90x90-240+0
31 #else
32 XBiff*Geometry: 90x90-0+240
33 #endif
34 #ifdef COLOR
35 XBiff*Background: Black
36 XBiff*Foreground: Red
37 XBiff*BorderColor: White
38 #endif
39 XBiff*borderWidth: 2
40 !
41 ! Set xcalc characteristics:
42 !
43 #ifdef COLOR
44 xcalc*Background: Aquamarine
45 xcalc*Foreground: Black
46 xcalc*NKeyBack: White
47 xcalc*NKeyFore: Black
48 xcalc*OKeyBack: PaleGreen
49 xcalc*OKeyFore: Black
UNIX dot files - 25 - January 7, 1991
.Xresources
50 xcalc*FKeyBack: GoldenRod
51 xcalc*FKeyFore: Black
52 xcalc*DispBack: Cyan
53 xcalc*DispFore: Black
54 xcalc*IconBack: White
55 xcalc*IconFore: Red
56 xcalc*BorderColor: Blue
57 #endif
58 xcalc*borderWidth: 2
59 !
60 ! Set xclock characteristics:
61 !
62 #if (WIDTH == 1280)
63 XClock*Geometry: 200x200-0+0
64 #else
65 XClock*Geometry: 200x200-0+0
66 #endif
67 #ifdef COLOR
68 XClock*Background: Turquoise
69 XClock*Foreground: Black
70 XClock*BorderColor: White
71 #endif
72 XClock*borderWidth: 2
73 XClock*analog: on
74 XClock*chime: on
75 XClock*padding: 2
76 !
77 ! Set xeyes characteristics:
78 !
79 #if (WIDTH == 1280)
80 XEyes*Geometry: 150x100-360+0
81 #else
82 XEyes*Geometry: 150x100-0+375
83 #endif
84 #ifdef COLOR
85 XEyes*Background: Black
86 XEyes*Foreground: Yellow
87 XEyes*BorderColor: White
88 #endif
89 XEyes*borderWidth: 2
90 !
91 ! Set xload characteristics:
92 !
93 #if (WIDTH == 1280)
94 XLoad*Geometry: 400x120-0+300
95 #else
96 XLoad*Geometry: 250x100-0+520
97 #endif
98 #ifdef COLOR
99 XLoad*Background: Black
100 XLoad*Foreground: Red
101 XLoad*BorderColor: White
102 XLoad*highlight: White
103 #endif
UNIX dot files - 26 - January 7, 1991
.Xresources
104 XLoad*borderWidth: 2
105 XLoad*Font: DEFAULT_FONT
106 !
107 ! Set xmag characteristics:
108 !
109 #ifdef COLOR
110 XMag*Background: Black
111 XMag*Foreground: Red
112 XMag*BorderColor: White
113 #endif
114 XMag*borderWidth: 2
115 !
116 ! Set xman characteristics:
117 !
118 #if (WIDTH == 1280)
119 XMan*topBox.Geometry: 105x100-250+150
120 XMan*help.Geometry: 800x900+0+0
121 XMan*manualBrowser.Geometry: 800x900+0+0
122 XMan*directoryHeight: 200
123 #else
124 XMan*topBox.Geometry: 105x100-0+665
125 XMan*help.Geometry: 800x700+0+0
126 XMan*manualBrowser.Geometry: 800x700+0+0
127 XMan*directoryHeight: 150
128 #endif
129 #ifdef COLOR
130 XMan*Background: White
131 XMan*Foreground: Black
132 XMan*BorderColor: Blue
133 #endif
134 XMan*borderWidth: 2
135 XMan*bothShown: true
136 XMan*directoryFontNormal: DEFAULT_FONT
137 XMan*manualFontNormal: DEFAULT_FONT
138 !
139 ! Set xtalk characteristics:
140 !
141 #ifdef COLOR
142 Xtalk*Background: White
143 Xtalk*Foreground: Black
144 Xtalk*BorderColor: Blue
145 #endif
146 Xtalk*borderWidth: 2
147 Xtalk*Font: DEFAULT_FONT
148 !
149 ! Set xterm characteristics:
150 !
151 #ifdef COLOR
152 XTerm*Background: White
153 XTerm*Foreground: Black
154 XTerm*BorderColor: Blue
155 XTerm*cursorColor: Red
156 #endif
157 XTerm*borderWidth: 5
UNIX dot files - 27 - January 7, 1991
.Xresources
158 XTerm*Font: DEFAULT_FONT
159 XTerm*boldFont: DEFAULT_BOLDFONT
160 XTerm*charClass: 33:48,37:48,45-47:48,64:48
161 XTerm*curses: on
162 XTerm*cutNewline: off
163 XTerm*cutToBeginningOfLine: off
164 XTerm*jumpScroll: on
165 XTerm*multiClickTime: 500
166 XTerm*multiScroll: on
167 XTerm*reverseWrap: on
168 XTerm*saveLines: 1000
169 XTerm*scrollBar: on
170 XTerm*scrollbar*thickness: 15
171 XTerm*titeInhibit: on
172 XTerm*ttyModes: erase ^H rprnt ^_
173 XTerm*utmpInhibit: on
174 !
175 ! Set bitmap characteristics:
176 !
177 bitmap*Geometry: 600x600+0+0
178 #ifdef COLOR
179 bitmap*Background: White
180 bitmap*Foreground: Black
181 bitmap*BorderColor: Black
182 #endif
183 bitmap*borderWidth: 2
184 bitmap*Dashed: off
185 !
186 ! Set emacs characteristics:
187 !
188 #if (WIDTH == 1280)
189 emacs*Geometry: 80x60-0-0
190 #else
191 emacs*Geometry: 80x50-0-0
192 #endif
193 #ifdef COLOR
194 emacs*Background: White
195 emacs*Foreground: Black
196 emacs*BorderColor: Red
197 emacs*Cursor: Red
198 #endif
199 emacs*borderWidth: 2
200 emacs*Font: DEFAULT_FONT
201 !
202 ! Set mwm characteristics:
203 !
204 #ifdef COLOR
205 Mwm*background: #7c8498
206 Mwm*foreground: #fce089
207 Mwm*activeBackground: #9db5cd
208 Mwm*activeForeground: #ffff00
209 Mwm*menu*background: #d4d8e8
210 Mwm*menu*foreground: black
211 !Mwm*activeTopShadowColor: lightgrey
UNIX dot files - 28 - January 7, 1991
.Xresources
212 !Mwm*activeBottomShadowColor: grey
213 #else
214 Mwm*background: white
215 Mwm*foreground: black
216 Mwm*activeBackground: black
217 Mwm*activeForeground: white
218 Mwm*menu*background: white
219 Mwm*menu*foreground: black
220 #endif
221 Mwm*buttonBindings: DefaultButtonBindings
222 Mwm*keyBindings: DefaultKeyBindings
223 Mwm*windowMenu: DefaultWindowMenu
224 ! Use either /usr/local/Master.mwmrc, .mwmrc, or nothing.
225 Mwm*configFile: /usr/local/Master.mwmrc
226 Mwm*fontList: variable
227 Mwm*icon*fontList: fixed
228 Mwm*clientAutoPlace: true
229 Mwm*moveThreshold: 3
230 Mwm*resizeBorderWidth: 7
231 Mwm*useIconBox: false
232 ! Use either:
233 ! explicit keyboardFocusPolicy with focusAutoRaise true/false
(your preference),
234 ! or
235 ! pointer keyboardFocusPolicy with focusAutoRaise false.
236 Mwm*keyboardFocusPolicy: explicit
237 Mwm*focusAutoRaise: true
238 ! Apollo-isms to avoid window decorations around the DM command
line windows.
239 !Mwm*/sys/dm/input.clientDecoration: none
240 Mwm*output*clientDecoration: none
241 !
242 ! Set uwm characteristics:
243 !
244 #ifdef COLOR
245 uwm*Background: #ede7e2
246 uwm*Foreground: #f00
247 uwm*BorderColor: Black
248 #endif
249 uwm*borderWidth: 0
250 uwm*iborderWidth: 0
251 uwm*mborderWidth: 1
UNIX dot files - 29 - January 7, 1991
.mwmrc
This file is not present in each user's home directory unless
they want to make customizations; instead the
'/usr/local/Master.mwmrc' file is used:
1 #
2 # Master.mwmrc - X Windows mwm configuration script for Apollo
systems.
3 # Version: 1990/11/13.
4 #
5
6
7 #
8 # menu pane descriptions
9 #
10
11 # Root Menu Description
12 Menu RootMenu
13 {
14 "Root Menu" f.title
15 no-label f.separator
16 "New Window" f.exec "xterm &"
17 "Shuffle Up" f.circle_up
18 "Shuffle Down" f.circle_down
19 "Refresh" f.refresh
20 "Utilities" f.menu UtilitiesMenu
21 # "Logout" f.menu LogoutMenu
22 no-label f.separator
23 "Restart..." f.restart
24 }
25
26 # Utilities Window Menu Description
27
28 Menu UtilitiesMenu
29 {
30 "Utilities Menu" f.title
31 no-label f.separator
32 "xbiff" f.exec "xbiff &"
33 "xcalc (TI)" f.exec "xcalc &"
34 "xcalc (rpn)" f.exec "xcalc -rpn &"
35 "xclock" f.exec "xclock &"
36 "xeyes" f.exec "xeyes &"
37 "xkill" f.nop # was: f.exec "xkill &"
38 "xless" f.exec "xless /dev/null &"
39 "xload" f.exec "xload &"
40 "xmag" f.exec "xmag &"
41 "xman" f.exec "xman &"
42 "xpostit" f.exec "xpostit &"
43 "xshowcmap" f.exec "xshowcmap &"
44 "xtalk" f.exec "xtalk &"
45 "xtetris" f.exec "xtetris &"
46 "dmwin" f.exec "dmwin &"
47 }
48
49 # Logout Window Menu Description
UNIX dot files - 30 - January 7, 1991
.mwmrc
50
51 Menu LogoutMenu
52 {
53 "Logout Menu" f.title
54 no-label f.separator
55 "Confirm" f.exec "dmwin xdmc lo"
56 "Cancel" f.exec "sleep 1 &"
57 }
58
59 # Default Window Menu Description
60
61 Menu DefaultWindowMenu MwmWindowMenu
62 {
63 "Restore" _R Alt<Key>F5 f.normalize
64 "Move" _M Alt<Key>F7 f.move
65 "Size" _S Alt<Key>F8 f.resize
66 "Minimize" _n Alt<Key>F9 f.minimize
67 "Maximize" _x Alt<Key>F10 f.maximize
68 "Lower" _L Alt<Key>F3 f.lower
69 no-label f.separator
70 "Close" _C Alt<Key>F4 f.kill
71 }
72
73
74 #
75 # key binding descriptions
76 #
77
78 Keys DefaultKeyBindings
79 {
80 Shift<Key>Escape icon|window
f.post_wmenu
81 Meta<Key>space icon|window
f.post_wmenu
82 Meta<Key>Tab root|icon|window f.next_key
83 Meta Shift<Key>Tab root|icon|window f.prev_key
84 Meta<Key>Escape root|icon|window f.next_key
85 Meta Shift<Key>Escape root|icon|window f.prev_key
86 Meta Ctrl Shift<Key>exclam root|icon|window
f.set_behavior
87 # Meta<Key>Down root|icon|window
f.circle_down
88 # Meta<Key>Up root|icon|window
f.circle_up
89 Meta<Key>F6 window f.next_key
transient
90 }
91
92 #
93 # button binding descriptions
94 #
95
96 Buttons DefaultButtonBindings
97 {
UNIX dot files - 31 - January 7, 1991
.mwmrc
98 <Btn1Down> frame|icon f.raise
99 <Btn2Down> frame|icon f.post_wmenu
100 <Btn1Down> root f.menu RootMenu
101 Meta<Btn1Down> icon|window f.lower
102 Meta<Btn2Down> window|icon f.resize
103 Meta<Btn3Down> window f.move
104 }
105
106 Buttons ExplicitButtonBindings
107 {
108 <Btn1Down> frame|icon f.raise
109 <Btn2Down> frame|icon f.post_wmenu
110 <Btn3Down> frame|icon f.lower
111 <Btn1Down> root f.menu RootMenu
112 Meta<Btn1Down> window|icon f.lower
113 Meta<Btn2Down> window|icon f.resize
114 Meta<Btn3Down> window|icon f.move
115
116 }
117
118 Buttons PointerButtonBindings
119 {
120 <Btn1Down> frame|icon f.raise
121 <Btn2Down> frame|icon f.post_wmenu
122 <Btn3Down> frame|icon f.lower
123 <Btn1Down> root f.menu RootMenu
124 # If (Mwm*passButtons == False)
125 Meta<Btn1Down> window|icon f.raise
126 # Else
127 # <Btn1Down> window f.raise
128 # Meta<Btn1Down> window|icon f.lower
129 Meta<Btn2Down> window|icon f.resize
130 Meta<Btn3Down> window|icon f.move
131 }
132
133 #
134 # END OF mwm RESOURCE DESCRIPTION FILE
135 #
UNIX dot files - 32 - January 7, 1991
.uwmrc
This file is not present in each user's home directory unless
they want to make customizations; instead the
'/usr/local/Master.uwmrc' file is used:
1 #
2 # Master.uwmrc - X Windows uwm configuration script for Apollo
systems.
3 # Version: 1990/10/13.
4 #
5 # $Source $
6 # $Author $
7 # $Header $
8 # Copyright (c) 1987 by the Massachusetts Institute of Technology.
9 #
10 # This is a startup file for uwm that produces an xwm lookalike,
11 # but adds two useful menus. It is patterned on the public
12 # distribution ../lib/X/uwm/jg.uwmrc file by Jim Gettys.
13 #
14 resetbindings
15 resetvariables
16 resetmenus
17 #noautoselect
18 autoselect
19 delta=5
20 freeze
21 grid
22 zap
23 pushabsolute
24 push=1
25 hiconpad=5
26 viconpad=5
27 #hmenupad=3
28 hmenupad=5
29 #vmenupad=0
30 vmenupad=3
31 #iconfont=fixed
32 #menufont=fixed
33 #resizefont=fixed
34 iconfont=9x15
35 menufont=9x15
36 resizefont=9x15
37 volume=0
38
39 # FUNCTION KEYS CONTEXT MOUSE BUTTON ACTIONS
40 f.newiconify= meta :window|icon: delta left
41 f.raise= meta :window|icon: delta left
42 f.lower= meta :window|icon: left up
43 f.raise= meta :window: middle down
44 f.resize= meta :window: delta middle
45 f.iconify= meta :icon: middle up
46 f.raise= meta :window|icon: right down
47 f.move= meta :window|icon: delta right
48 f.circledown= meta :root: left down
49 f.circleup= meta :root: right down
UNIX dot files - 33 - January 7, 1991
.uwmrc
50 f.circledown= m|s :: left down
51 f.menu= :root: middle down
: "WindowOps"
52 f.menu= m|s :: middle down
: "WindowOps"
53 f.circleup= m|s :: right down
54 f.menu= :root: left down
: "Applications"
55 f.menu= :root: right down
: "Preferences"
56 f.iconify= m|c :window|icon: left down
57 f.newiconify= m|l :window|icon: left down
58 f.raise= m|l :window|icon: left up
59 f.pushright= m|l :window|icon: right down
60 f.pushleft= m|c :window|icon: right down
61 f.pushup= m|l :window|icon: middle down
62 f.pushdown= m|c :window|icon: middle down
63
64 menu = "WindowOps" {
65 New Window: !"xterm & "
66 RefreshScreen: f.refresh
67 Redraw: f.redraw
68 Move: f.move
69 Resize: f.resize
70 Lower: f.lower
71 Raise: f.raise
72 CircUp: f.circleup
73 CircDown: f.circledown
74 AutoIconify: f.iconify
75 LowerIconify: f.newiconify
76 NewIconify: f.newiconify
77 Focus: f.focus
78 Freeze: f.pause
79 UnFreeze: f.continue
80 Restart: f.restart
81 }
82 menu = "Preferences" {
83 Bell Loud: !"xset b 7&"
84 Bell Normal: !"xset b 3&"
85 Bell Off: !"xset b off&"
86 Click Loud: !"xset c 8&"
87 Click Soft: !"xset c on&"
88 Click Off: !"xset c off&"
89 Lock On: !"xset l on&"
90 Lock Off: !"xset l off&"
91 Mouse Fast: !"xset m 4 2&"
92 Mouse Normal: !"xset m 2 5&"
93 Mouse Slow: !"xset m 1 1&"
94 }
95 menu = "Applications" {
96 xbiff: !"xbiff &"
97 "xcalc (TI)": !"xcalc &"
98 "xcalc (rpn)": !"xcalc -rpn &"
99 xclock: !"xclock &"
UNIX dot files - 34 - January 7, 1991
.uwmrc
100 xeyes: !"xeyes &"
101 xkill: !"xkill &"
102 xless" !"xless /dev/null &"
103 xload: !"xload &"
104 xmag: !"xmag &"
105 xman: !"xman &"
106 xpostit: !"xpostit &"
107 xshowcmap: !"xshowcmap &"
108 xtalk: !"xtalk &"
109 xtetris: !"xtetris &"
110 dmwin: !"dmwin &"
111 }
This is the Apollo-supplied '/usr/X11/lib/uwm/mit.uwmrc' with a
bug fix to allow the "Preferences" menu to be popped up, and an
"Applications" menu added, along with some minor options changes.
UNIX dot files - 35 - January 7, 1991
.xmodmaprc
This file is not present in each user's home directory unless
they want to make customizations; instead the
'/usr/local/Master.xmodmaprc' file is used:
1 !
2 ! Master.xmodmaprc - X Windows xmodmap configuration file for
Apollo systems.
3 ! Version: 1990/05/31.
4 !
5 ! Remove any definition for Meta
6 clear Mod1
7 !
8 ! "Relabel" key F0 (aka F10) as Meta_L
9 keycode 0x93 = Meta_L
10 !
11 ! Make F0 act as a Meta modifier
12 add Mod1 = Meta_L
13 !
14 ! Make Alt_L and Alt_R act as Meta modifiers
15 add Mod1 = Alt_L Alt_R
UNIX dot files - 36 - January 7, 1991
Miscellaneous X Stuff
There are several other files that need modification for "real" X
Windows operation (i.e. X owns the root window, X starts automat-
ically at boot time, each users X clients start automatically at
login):
/etc/rc (excerpt only):
if [ -f /etc/daemons/Xapollo -o -f /etc/daemons/xdm ]; then
if [ -f /etc/xdm -a -f /etc/daemons/xdm ]; then
(echo " xdm\c" >/dev/console)
(/etc/xdm) &
elif [ -f /etc/Xapollo -a -f /etc/daemons/Xapollo ]; then
(echo " Xapollo\c" >/dev/console)
(nice --10 /etc/Xapollo -D1 s+r+ ) &
# (nice --5 /etc/Xapollo -K /usr/X11/lib/keyboard/
keyboard.config -D1 s+r-) &
fi
fi
and do 'touch /etc/daemons/Xapollo'.
The files '/usr/X11/lib/xinit/xinitrc' and
'/usr/X11/lib/xinit/xserverrc' are changed to links:
lrwxrwxrwx 1 root 25 May 30 15:51
/usr/X11/lib/xinit/xinitrc -> /usr/local/Master.xinitrc
lrwxrwxrwx 1 root 27 May 30 15:51
/usr/X11/lib/xinit/xserverrc -> /usr/local/Master.xserverrc
since 'startx' and 'xinit' look first in the user's home direc-
tory for '.xinitrc' and '.xserverrc', then for the 'xinitrc' and
'xserverrc' files listed. (Note that '/usr/X11/lib/xinit' is
really '/sys/node_data/etc/xinit'.)
The file '/usr/X11/lib/uwm/system.uwmrc' is created as a link:
lrwxrwxrwx 1 root 23 May 18 12:49
system.uwmrc -> /usr/local/Master.uwmrc
since the 'system.uwmrc' file is used by default by 'uwm' at
start-up time if no other configuration file is specified.
UNIX dot files - 37 - January 7, 1991
Miscellaneous X Stuff
The file '/sys/node_data/startup.1280bw' becomes:
1 # STARTUP, /SYS/DM, default system startup command file for
1280x1024 monochrome, 11/30/87
2 #
3
4 # Default is black characters on a white (or green) background.
5 INV -ON
6
7 # Window positions for the DM's input and output windows.
8 # Do not comment these out.
9 (692,1011)dr;(1279,1023)cv /sys/dm/output
10 (0,1011)dr;(639,1023)cv /sys/dm/input
11 (640,1011)dr;(692,1023)cv /sys/dm/output;pb
12
13
14 # The default Apollo compose key is f5. It is normally NOT
enabled.
15 # To enable it, uncomment the following line.
16 #
17 #cps /usr/apollo/bin/kbm -c f5
18 #
19 # To change it to a different key, edit the previous line as
appropriate.
20 #
21 # To disable DM window management, uncomment the following
command.
22 # Ie. Uncomment if running X in X-owns-root mode
23 #
24 wmgr -off
25 #
26 # The following sets a default DISPLAY environment for X.
27 #
28 env DISPLAY 'aurum:0'
The file '/sys/dm/startup_login.1280bw' becomes:
1 # STARTUP_LOGIN (the per_login startup file in `node_data or
/sys/dm)
2
3 ## main shell whose shape is generally agreeable to users of this
node
4 # default shell will be created based on the one specified in
passwd file
5
6 #(0,500)dr;(799,955)cp /sys/dm/login_sh
7 cpo /bin/csh -c /usr/bin/X11/startx
8
9 ## and the users private dm command file from his home directory,
if desired
10 cmdf user_data/startup_dm.1280bw
UNIX dot files - 38 - January 7, 1991
Miscellaneous X Stuff
If the user would like the DM I/O windows removed from the bottom
of the screen automatically, they can make a link from
'~/user_data/startup_dm.1280bw' to '/usr/local/Master.dmiooff';
the latter file contains:
1 #
2 # Master.dmiooff - X Windows DM start-up script for Apollo systems.
3 # Version: 1990/08/08.
4 #
5 # Remove the DM windows from the bottom of an X display.
6 # You can use the 'LO' alias to logout from the display,
7 # since the "Command:" window will be hidden.
8 #
9 # This script may be read by the DM at login time, and for it to
work,
10 # there must be links in the '~/user_data' directory from the
following
11 # files to '/usr/local/Master.dmiooff':
12 # startup_dm.1280bw [node aurum]
13 # startup_dm.1280color [nodes aqua terra]
14 # startup_dm.19l [nodes alchemy todah]
15 # startup_dm.color [no Chemistry nodes]
16 # where you can control to some extent which node(s) will act this
way
17 # by selecting which types of systems will be affected.
18 #
19 # The links can be made with the command(s):
20 # cd ~/user_data
21 # ln -s /usr/local/Master.dmiooff startup_dm.1280bw
22 # ln -s /usr/local/Master.dmiooff startup_dm.1280color
23 # ln -s /usr/local/Master.dmiooff startup_dm.19l
24 # ln -s /usr/local/Master.dmiooff startup_dm.color
25 # where only the second 'ln' command is needed by most users.
26 #
27 dmio -off
UNIX dot files - 39 - January 7, 1991
--
Mike Peterson, System Administrator, U/Toronto Department of Chemistry
E-mail: system@alchemy.chem.utoronto.ca
Tel: (416) 978-7094 Fax: (416) 978-8775