File: README

package info (click to toggle)
typist 2.2b-4
  • links: PTS
  • area: main
  • in suites: potato
  • size: 1,456 kB
  • ctags: 209
  • sloc: ansic: 1,594; awk: 329; makefile: 148; sh: 42
file content (227 lines) | stat: -rw-r--r-- 9,747 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
			Typist v2.2 Typing Tutor
			------------------------


Introduction
------------
This program came from a desire to learn 'proper' typing, and not the
awkward keyboard prodding I've been doing for the past 10 years or
more.  Since I usually run Linux rather than Windows or DOS, I looked
around for a tutor program, and surprisingly, found nothing in the
usual places.

Eventually, I stumbled across Typist - a little gem of a program for
UNIX-like systems.  The original worked great, but after a while I
started noticing odd things - some lessons seemed to go missing, and
the programs were apt to exhibit some strange behaviours.  After
fixing a few bugs it seemed that the time was right for something of a
rewrite.

The result is Typist v2.2.  This has the same lessons in it (I'm by no
means qualified to alter anything in these, except perhaps the most
obvious speling erors), but contains a new C/Curses program.  The
lesson file format is new too; the original files were converted
across.


Delivered tar files
-------------------
The package runs on three platforms:

    o Linux
    o SCO OpenServer 5.0
    o SCO UnixWare 7

The following files form the core part of the distribution.  Here, N.N
represents the release (for example, 2.2):

    o typist-N.N.lessons.tar - this contains the basic lessons data
      files that the programs work on (the typing lessons themselves).
      These are required for either simply installng pre-built binaries,
      or for use with any of the compiled sources.
    o typist-N.N.src.tar - these are the source files, in C and C++, for
      the binary programs and the man pages.

The following additional files may be present in a distribution:

    o typist-N.N.*.bin.tar - where "*" is the platform, a set of pre-built
      binaries, and the typist.1 man page.  Posted versions of the program
      will probably contain binaries for Linux only.
    o typist-N.N.man.tar - the typist.1 man page converted into postscript
      and 'cat' format, for use with systems not having *roff installed
      or available.


Installing binaries
-------------------
To install the Linux binaries and man pages, as superuser

	UN-tar the lessons archive and the Linux binary archive.
	Copy the files typist and typist_bin to /usr/local/bin, and set
		the modes of both to 755.
	Create the directory /usr/local/lib/typist, and copy everything
		from the lessons subdirectory into it.  Link the file
		/usr/local/lib/typist/typist.typ to combined.typ.
	Gzip the files typist.1, and copy the resulting .gz file to the
		directory /usr/local/man/man1, and set the mode to 644.

In Makefile, there is a make 'install' option that will do all this
after the untar for you.  There's an 'uninstall' option, too.

To install the SCO OpenServer and SCO UnixWare binaries and man pages,
as superuser

	UN-tar the lessons, and the relevant binary archive, if you have it.
		If you don't, stop here - you'll have to build from sources
		first.  Otherwise, unless you have a *roff you should probably
		then go on to UN-tar the man pages archive.
	Unless you create one, there isn't a /usr/local/bin directory
		available by default for the typist wrapper and typist_bin
		binary.
		Either create one and copy typist and typist_bin there, or
		put them elsewhere on your path.
	Create the directory /usr/local/lib/typist, and copy everything
		from the lessons subdirectory into it.  Link the file
		/usr/local/lib/typist/typist.typ to combined.typ.
	Like the binary and wrapper, adding the man pages is a matter of
		preference.  The typist.1.cat man page will be easy enough to
		integrate into the UnixWare 'traditional man pages', if they
		are installed.  On OpenServer, it is possible to put the
		typist.1.cat page under /usr/man somewhere, or to add
		an extra directory to the man search path.  For both
		systems, however, it's probably simpler to just print the
		Postscript version.

Again, in Makefile there is an install target you can use to accomplish
much of this.

To run the program, either as superuser or an an unprivileged user, you
should point the TYPIST_PATH environment variable to /usr/local/lib/typist,
then run the program.  See the typist man page for details about the
TYPIST_PATH environment variable.

If you don't want to, or can't, install the program onto the system
as superuser, you can still use it from your home directory.  To do
this, simply copy your selected typist binary into some directory on
your path, and put the *.typ files somewhere; point TYPIST_PATH to that
somewhere, and link typist.typ to combined.typ.  To go the extra mile,
you could, depending on your UNIX system, also copy the man page
somewhere and fiddle with MANPATH to get it to work with man.  Again,
however, it may just be easier to print the Postscript version.


Building the source
-------------------
To build the programs from the source code, first UN-tar the file
typist-N.N.src.tar.  Edit the Makefile to enable the section for one
of the supported platforms.

Remember that you need the lessons as well as the source code, so UN-tar
the file typist-N.N.lessons.tar, if you haven't done so already.

Then, run make on one or more of the following targets:

    o typist_bin - this builds the C version of the program, and should
      work pretty much everywhere.
    o manpages - on Linux this formats the man page into 'cat' and post-
      script formats, for printing or for use with platforms not offering
      *roff facilities.
    o install - install the binaries, and man pages if appropriate.
    o demo - gives a brief demonstration of the features of typist.
    o uninstall - get the package off the system.

So for example, on Linux with gcc installed, run

    make typist_bin install

As well as the C source for typist, and the lessons, the source code
tar file also contains a number of additional items.  None of these is
required for the build; they are provided for information only:

    o orig/
	This subdirectory contains a verbatim copy of the original
	typist program and lessons.
    o typv1tov2
	This is an awk script that takes a lesson file in the format
	of the original program, and converts it into a format
	suitable for version 2.  As part of the conversion, a rudi-
	mentary lesson menu is added.
    o typcombine
	This is an awk script that will combine a number of lesson
	files into a single file.  Again, a simple menu is added.
    o mklessons
	This is a small shell script that does the conversion of all
	the lessons from the orig/ directory into a lessons/ directory.
	The lessons are pre-converted in the lessons/ directory in the
	tar files, so there should be no real need to run this script.
    o patch/
	This subdirectory contains files that show the manual changes
	made to the lessons.  The files are the output from diff,
	comparing the files after conversion by typv1tov2 with the
	manually corrected ones.  These files are used by mklessons.

It should be easy to port typist to another UNIX flavour, provided you
have (n)curses, a C compiler, and a bit of spare time.  It'll probably
compile and run under earlier releases of SCO UNIX and UnixWare too; I
haven't tried it though.


Notes
-----
SCO OpenServer and SCO UnixWare systems don't contain nroff/groff by
default.  The man pages will therefore have to be handled manually.
Cat and postscript versions are available.


Version Changes
---------------

Version 2.1a:
	- Whole package GPLified.  Otherwise, no changes.  None.
	  Nothing at all.  Really.
Version 2.2:
	- Removed the C++ version of the program.  Apart from my elderly
	  slackware system, this would not really compile anywhere else,
	  and was causing more problems than it was worth.
	- Added the "one-time" 'O' drill command.
	- Added the function key to label binding 'K' command, to allow
	  better menus to be built.
	- Tidied the C program for better error handling.  It's still a
	  bit messy, though.
	- Optimised T/D/O/P commands to avoid "Press return to continue"
	  where they are directly followed by a Q command.
	- Updated typv1tov2 and typcombine to use these new features,
	  and output improved menus that use the function keys for direct
	  access to lessons, and repeat-this-exercise queries.
	- The typist binary is now statically linked for Linux, to try
	  to enhance its portability as a binary.  The build system is
	  now RedHat 5.2, and the program is now an incredible 700kB
	  as a static binary.
	- All of these enhancements got finished up after I had completed
	  the Java version, 'Jtypist'.  If you can, I'd heartily recommend
	  that you use the Java one instead of this package.  It has a
	  far better interface, and lots of extra features that Typist 2.2
	  doesn't have.  You should be able to obtain a copy of it from
	  the same place that you picked up this package from.
Version 2.2a:
	- Added word processing like behaviour to the exercises, so that
	  multiple spaces combine into one, return moves to the next
	  paragraph, space is accepted at the end of a line, and hyphens
	  at a line's end are skipped.
	- Fixed drills so that delete does not actually insert an error,
	  but is now just ignored.
	- Corrected backspace key detection on RedHat Linux 5.2.
Version 2.2b:
	- Fixed a bug in exercises, where the typing timer was not started
	  when the exercise begins with space characters and word processing
	  behaviour is enabled.
	- Moved the binary to typist_bin, and created a typist shell script
	  wrapper to try to cope with TYPIST_PATH not set, and the variations
	  in the location of the terminfo database between RedHat 5.2 and
	  other platforms.
	- Again, why not look at 'Jtypist'.
  

And that's it.  Have fun!

Simon Baldwin, simonb@sco.com