[409b67]: docs / help-system.html Maximize Restore History

Download this file

help-system.html    79 lines (78 with data), 3.0 kB

 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
<html>
<head>
<title> JOE 2.9.7pre3 -> Help system </title>
</head>
<body bgcolor="#83CCF4">
<center><h2> JOE:: Help system </h2></center>
<table>
<tr>
<td> Name: </td>
<td> Help system </td>
</tr>
<tr>
<td> Files: </td>
<td> help.c, help.h </td>
</tr>
<tr>
<td> Since: </td>
<td> 2.9.7pre1 </td>
</tr>
<tr>
<td> Main authors: </td>
<td> Joseph Allen <br> Marek 'marx' Grac <a href="mailto:xgrac@fi.muni.cz">&lt;xgrac@fi.muni.cz&gt;</a> </td>
</tr>
</table>
<p>
Differences between this and previous version should be hidden
to users. Main changes were done in design of source code. I
will try to explain <i>what it is</i> and <i>why it is done this
way</i>? Main goal was to clean and minimalize source code,
remove several global variables, move everything concerned with
help to these files.
</p>
<p>
The help system is based on bi-directional list of help screens.
Each help screen has defined two variables, help text (<i>char
*hlptxt</i>) and number of lines of help text (<i>int
hlplns</i>). Since this version the help file can/should be
separated from *rc files. Advantage of this model is that you
can set help to other languages. Usage of standard method
(gettext) will be very difficult here, because help has constant
width which can't be overcrossed. This method has also no
problem with having several help files in each language (for
joe, jmacs, ...). Problematics of setting proper help file will
be solved in <i>main.c</i> not here.
</p>
<h3> How to create a help file </h3>
<p>
Help file consist of prologue, body and epilogue for each of the
screens. Each help screen must begin with <i>{%name</i> where
<i>%name</i> is only symbolic name of this screen and is not
used in program. The body of help screen contains text which
will be showed on the user screen and tags which takes care of
special information (bold, flash, ...). There is list of the
tags with theirs functions:
<ul>
<li> <b>\i</b> to turn on/off inverse video </li>
<li> <b>\u</b> to turn on/off underline </li>
<li> <b>\b</b> to turn on/off bold </li>
<li> <b>\d</b> to turn on/off dim </li>
<li> <b>\f</b> to turn on/off flash </li>
</ul>
These tags are inserted into help screen text, but they are not
visible in the help screen (visible are only their effects, but this
is their purpose <b>:)</b>)
</p>
<p>
Some hints how to write a new help screen. Standard help screens have
80 characters per line (including borders) so they are visible on text
console. Sequences of keys are usually written as <i>^KD</i> where
<i>^</i> means CTRL + next character <i>K</i> and then key named <i>D</i>
should be pressed.
</p>
<hr>
<p>
Any comments, ideas, questions send to me at <a href="mailto:xgrac@fi.muni.cz">xgrac@fi.muni.cz</a>
</p>
</body>
</html>