-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
272 lines (209 loc) · 11 KB
/
README
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
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
\\ /
\\ / Version 11 Rel. 6.4
/ \\
/ \\ Server for MiNT/GEM
===============================
Sep 05, 2001
Contents
========
1. Requirements
2. Installation
2.1. Preparing Environment
2.2. Preparing Directories
3. Fonts
3.1. Handling of GEM-Fonts
3.2. Font-Aliasing
4. Using The X Server
4.1. Menu Bar Items
4.2. Keyboard Input
4.3. Mouse Actions
1. Requirements
===============
To get the server running with a useable speed, a machine with a 68030 and
10 MByte of Ram is needed at least. Absolutely vital installed and working
system programs are: FreeMiNT >= 1.15.6, NVDI >= 4.1, N.AES or XaAES or
AES 4.1.
If you haven't MiNTnet installed you need a very small package (I call it
'tiny-sock') from X11.freemint.de installed instead.
Screen size (width*height) isn't restricted, but ST-High (640*400) is the
minimum to get it useable. Nearly all color depths are supported, expect
of 2 planes (4 colors) and 15 bit PC format.
The latest binary version can be downloaded from the homepage at
http://X11.freemint.de ,
there is also a source snapshot. The very latest sources are accessible
from the FreeMiNT CVS Repository at
http://wh58-508.st.uni-magdeburg.de/cgi-bin/cvsweb/xg/
Bug reports should be mailed to <AltF4@freemint.de>.
2. Installation
===============
Copy the server's files to some location on your filesystem; there is no
requirement of a fixed path for the server. A usefull place might be
/usr/X11R6/bin/ but everything else works as well.
The next step is to make a directory /var/lib/Xapp/ for the server. If the
server is startet by root at the first time, or the directory is writeable
by the server, it will do the following steps by itself. Else do the
following (as root user):
cd /var/lib ; mkdir Xapp ; chmod 777 Xapp
2.1. Preparing Environment
--------------------------
There are a few things necessary for X-clients to be able to work.
If a client starts, it first parses the environment variable DISPLAY to
find out at which IP number the server should be connected. So it's
possible to start clients from connected machines, having their X-Windows
opend on your local machine. The value of DISPLAY has to be of the form
"<server-IP>:0.0". For clients running at a local machine, DISPLAY
contains simply the value "0:0.0", where the first "0" is simply a shortcut
for the local IP or even "localhost". For clients started on a remote
machine connected to an Atari with e.g. the IP 123.234.34.56, DISPLAY at
the remote machine must be then "123.234.34.56:0.0".
Most comfortable for the user is, to have somewhere in mint.cnf the line
setenv DISPLAY 0:0.0
so the setting it can't be forgotten. Otherway it would be necessary to
set it by hand in a shell window and start every client from that shell.
2.2. Preparing Directories
--------------------------
The following isn't necessary for the server itself but should be done for
client programs to have a common directory hirachy.
First there should be a directory /etc/X11/app-defaults/ which will later
contain default configuration files for several client programs. These
configuration files are such with the suffix ".ad" in packages and needs to
be renamed without the suffix while copying to the app-defaults e.g.
"Xcalc.ad" to only "Xcalc". Also the X server will search for optional
configuration fileas at /etc/X11/.
Next, a directory /usr/X11R6/ should be created as being the "XTOPDIR" and
a link /usr/X11 pointing to this directory as well, for historical reasons:
cd /usr ; ln -s X11R6 X11
Furthermore, some clients are looking for their configuration files not at
/etc/X11/app-defaults/, but at /usr/X11R6/lib/X11/app-defaults/ (or at
/usr/X11/lib/X11/app-defaults/, therefor the link) instead, so there should
be placed a link pointing to /etc/X11/app-defaults/:
cd /usr/X11R6/lib/X11 ; ln -s /etc/X11/app-defaults
After carrying out all the previous steps, the system should have these
directories and links:
/var/lib/Xapp/
/etc/X11/app-defaults/
/usr/X11R6/lib/X11/app-defaults -> /etc/X11/app-defaults/
/usr/X11 -> X11R6/
3. Fonts
========
In X, fonts are named following the XLFD ('X Logical Font Description').
These font names are in fact a set of descriptive fields with '-' as
delimiters. The format is as following:
-fndry-fmly-wght-slnt-sWd-adStl-pxSz-ptSz-resx-resy-spc-avgWd-rgstry-enc
with the field meanings:
fndry: Foundry is the name of the organization that supplied or last
modified the font, e.g. Adobe, Bitstream.
fmly: FamilyName of the font, e.g. Courier, Gothic, Helvetica
wght: WeightName, e.g. Bold, Medim, Black
slnt: Slant, a code-string with tha encoding: "R"=Roman, "I"=Italic,
"O"=Oblique, aso.
sWd: SetWidth, e.g. Normal, Condensed, Narrow
adStl: AddStyle, e.g. Sans, Serif,
pxSz: PixelSize of the body of the font, similar to the character cell
in VDI
ptSz: PointSize in decipoint, that is 1/10th point
resx,resy: horizontal/vertical resolution for which the font was designed
spc: Spacing, code-string to indicate the escapement, that is "P" for
proportional and "M" or "C" for monospaced
avgWd: AverageWidth of all characters in 1/20th pixels
rgstry,enc: CharsetRegistry/Encoding, e.g. ISO8859-1
All of these fields my contain wildcards (a '*'). For example, often
clients requests a font named '-*-*-*-*-*-*-*-120-*-*-*-*-ISO8859-1' which
means some font of 12 point height and that charset encoding is needed, no
matter of which family or style and so on. The server will than take the
first font where both criteria matches.
3.1. Handling of GEM-Fonts
--------------------------
At startup, the server parses all fonts provided by the VDI and translates
the available information to XLFD strings. These are stored in the hash
file /var/lib/Xapp/fonts.db to accelerate further startups.
3.2. Font-Aliasing
------------------
If there exists a file /etc/X11/fonts.alias it will be read at server
startup and later be used to substitute font names from client requests to
fonts the server provides. Have a look at the server's font hash file at
/var/lib/Xapp/fonts.db to see which fonts are provided by your system.
There is also an example configuration 'fonts.alias.EXMPL' coming along
with this file.
The format of the fonts.alias file is very simple, lines starting with a
'!' are comment lines and will be ignored. The relevant lines are formed
the way "foo: bar" and "foo bar" and means in both cases: "find 'foo' and
replace it with 'bar'", but in different ways. The first form (with the
colon) is used to substitute a _part_ of the font name and the second form
(without colon) is used to substitute the _whole_ font name.
The "foo: bar" form is usefull to replace particular fields of the font
name, for example the lines
-adobe-: -*-
-courier-: -Courier10Pitch-
would cause that a request for '-adobe-courier-*-*-*-*-*-*-*-*-*-*-*-*'
would be translated to '-*-Courier10Pitch-*-*-*-*-*-*-*-*-*-*-*-*' which
matches the speedo font from the NVDI package. The field delimeters '-'
should always be used (even if not forced) to avoid wrong results.
The "foo: bar" form is to substitute the whole font name and will be done
_AFTER_ the part substitution.
There are two often requested pseudo-fonts which should always be aliased:
fixed: A monospaced font that fits best the system capabilities, e.g. the
font used the AES, or some other monospaced font of your choice.
variable: Some proportional font which should be of the same height as the
font used for fixed.
To use the fonts from the NVDI package, it could looks like
fixed -Bitstream-Courier10Pitch-Medium-I-Normal-Serif-16-90-0-0-C-70-ISO8859-1
variable -Bitstream-Life-Medium-R-Normal-Serif-16-90-0-0-P-68-ISO8859-1
The font to be substituted can also be a pattern, like
-adobe-times-*-*-*-*-*-*-*-*-*-*-iso8859-1 \
-*-times*-medium-*-*-*-*-*-*-*-*-*-*-*
-*-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \
-*-gothic*-medium-r-*-*-*-120-*-*-*-*-*-*
Please pay attention that the '\' isn't allowed in the font.alias file;
it's only used here for better readability! Instead both parts have to be
in one line, with spaces or tabs between.
There are other oftern used font names of the form '9x15', '6x13' and so
on, which means monospaced fonts of <width> * <height> pixel size. If an
request of such a font name appeares and the server can't find it in its
XLFD list nor in the alias list, it takes a scalable font which can scaled
best to that geometry and creates a generic XLFD entry.
4. Using The X Server
=====================
After been started the X server checks if /dev/xconout2 isn't locked by
some other program and if /usr/X11/bin/xconsole exists. In this case the
latter on is started acts as a replacement for TosWin2's console window.
TosWin2 mustn't be terminated for having xconsole started, only closing its
console window is enough. Note that also for xconsole the xconout2.xdd
must be installed.
The next step after this is checking if either /etc/X11/Xmodmap and
/usr/X11/bin/xmodmap are existing. In this case it will be started to
apply user defined keyboard and/or mouse button mappings. For more
information see the example file 'Xmodmap.EXMPL' and the xmodmap manpage.
4.1. Menu Bar Items
-------------------
X11-Server:
About: Views version information.
File:
gwm: Enables/disables the built-in window manager. In fact, this
option controls if X windows have GEM windgets and decor, or not.
Quit: Quits the X server. If some clients are connected, a
confirmation dialog will apear first.
Clients: Views a list of all client connections. Selecting one of the
entries while the Control key is held down, closes down immediately the
corresponding connection.
4.2. Keyboard Input
-------------------
In opposite to GEM apllications, every X window gets keyboard events always
and only if it contains the mouse pointer, independent of the fact which is
the top window. This means that even if some GEM application has some of
its wimdows the top window but the mouse pointer is over an X window, all
keyboard inout will be sent to the latter. On the other hand, if the
X server has one of its windows the top window but the mouse pointer is
somewhere else than over an X window, all keyboard inputs will be
discarded.
Normaly the X server does no interpretition of any kyeboard input. There
is one exception: The combination Control-Alt-Backspace causes an
immediate server shutdown and is meant as a "Panic Key".
4.3. Mouse Actions
------------------
X windows can be resized by clicking on the frame around and dragging to
the new size. Some windows may be set to be not resizeable, this can be
overridden by holding down the Control key. A short mouseclick onto the
frame tops/bottoms the window.
Holding down the Alt key while clicking somewhere inside a window allows to
move it around.